IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Upload] problème lors d'un upload


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Par défaut [Upload] problème lors d'un upload
    Bonjour tout le monde. Je sais que le sujet a été abordé plein de fois mais j'ai beau chercher sur le net mon script ne marche pas.

    Comme le nom du sujet l'indique j'aimerais uploader un fichier.

    Voici mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    $file = $_FILES['Image'];
    if (move_uploaded_file($file['tmp_name'], "C:\test.jpg"))
    	   {
    		   // uploaded ok
    		   //save the file name as the logo url for the sponsor
    		   $sponsor_data->m_logo_url = $oDBAccess->setValidString($name);
    		   $result = $oDBAccess->updateSponsor($sponsor_data);
     
    	   }
    	   else
    	   {
    		   // upload failed
    		   $result = false;
    	   }
    Et rien à faire ça ne marche pas:

    voici le résultat de quelques fonctions que j'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    is_uploaded_file($file['tmp_name']) -> vrai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    file_exists($file['tmp_name']) -> renvoi faux je ne sais pas trop pourquoi.
    Code X : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    print_r ($file):
    Array
    (
        [name] => 46.JPG
        [type] => image/jpeg
        [tmp_name] => C:\WINDOWS\TEMP\php68.tmp
        [error] => 0
        [size] => 30632
    )

    Si quelqu'un peut m'aider

    ps: désolé pour les accents mais je suis sur un clavier qwerty

  2. #2
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    et ton formulaire il ressemble à quoi?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Par défaut le formulaire
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <form name="upload" method="post" action="act_upload_file.php" enctype="multipart/form-data">
    <br>
    	<table border="0" cellpadding="0" cellspacing="0" align="center" width="90%">
    		<tr><td colspan="2"><h3>Upload New Sponsor Logo</h3></td></tr>
    		<tr>
    			<td class="Bold" width="10%">Logo:</td> 
    			<td  colspan="3" width="90%">
    				<input type="file" name="Image" /> 
    				<input type="submit" value="Upload" /> 
    			</td>		
    		</tr>
    		<tr><td colspan="2" height="10">&nbsp;</td></tr>
    		<tr>
    			<td colspan="2" align="right">
    				<input type="hidden" name="id" value="<?php echo $id; ?>" />
    				<input type="button" name="btnBack" value="Back" onclick="javascript: history.back(-1);" />
    			</td>
    		</tr>	
    	</table>
    </form>

  4. #4
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    Je te laisse mon script d'upload
    à toi de prendre ce que tu as de besoin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    //Si il y a un fichier d'envoyé et que le fichier est plus petit que 20Mo
    if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] <= 20971520){  
    	$tmp_file = $_FILES['fichier']['tmp_name']; //Prend le nom complet du fichier uploader dans le tmp du serveur
    	$ext_possible = array('DOC','XLS','PUB','TXT','PDF','BMP','JPG','JPEG'); //extension possible
    	$file_destination = basename($_FILES['fichier']['name']); //Sépare le path d'accès et garde seulement le nom du fichier et l'extension..ex: test.txt
    	// formatage nom fichier pour éviter les bugs de caractères
    	// enlever les accents
    	$file_destination = strtr($file_destination,
    						 'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
    						 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');   
    	// remplacer les caracteres autres que lettres, chiffres et point par _
    	$file_destination = preg_replace('/([^.a-z0-9]+)/i', '_', $file_destination);
     
    	// Vérification de fichiers valide
    	if(!in_array(strtoupper(substr(strrchr($_FILES['fichier']['name'], '.'), 1)), $ext_possible)){
    		$msgProgress = '**Veuillez sélectionner un document de type valide (WORD, EXCEL, PUBLISHER, TEXTE, PDF, PHOTO BMP ou JPEG)** '.$_FILES['fichier']['name'];    
    	}
    	//On test si le fichier est dans le répertoire déjà
    	if(is_file($_SESSION['path_dir'].$file_destination)){
    		$msgProgress = '**Le document que vous voulez transférer est déjà dans ce dossier.**<br>Veuillez le renommer autre que : <u><b>'.$_FILES['fichier']['name'].'</b></u>';
    	}
    	//Test si le fichier est uploadé sur le serveur
    	else if(!is_uploaded_file($tmp_file)){
    		 $msgProgress = '**Le document est introuvable**'; 
    	}
    	 // copie du fichier  
    	if(!isset($msgProgress)){
    		//Essaie de changer le répertoire, car le fichier est uploadé dans le tmp
    		//$tmp_file->ancien path, $_SESSION['path_dir']->path ajusteur, $file_destination->le nom de fichier avec extention
    		if(!is_dir($_SESSION['path_dir']) || !move_uploaded_file($tmp_file,  $_SESSION['path_dir'].$file_destination)){  
    			$msgProgress = '**Impossible de copier le document dans '.$_SESSION['path_dir'].$file_destination.'**';
    			if(!is_dir($_SESSION['path_dir'])){
    				$msgProgress .= '<br>Répertoire inexistant'; 
    			}
    		}
    		else{									
    			$msgSucces = '<font color="green" face="Times New Roman, Times, serif"><b>**Le document a été transfèré avec succès dans le répertoire <br>'.$_SESSION['path_dir'].$file_destination.'**<br></b></font>';
    		}
    	}
    }
    else if(isset($_FILES['fichier']) && $_FILES['fichier']['size'] > 20971520){
    	$msgProgress = '** Le document que vous voulez transférer est trop volumineux (20Mo+), contactez votre administrateur réseau **';
    }
    Le formuliare est correct

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 72
    Par défaut ...
    merci pour ton aide mais j'en ai deja essaye des tas des scripts comme le tien et ca marche jamais.

    Penses-tu que cela peut ne pas venir du programme mais de la config du serveur ?

  6. #6
    Membre émérite
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Par défaut
    c'est ton serveur ou tu es chez un hébergeur?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème lors de l'upload de fichier
    Par teddyalbina dans le forum ASP.NET
    Réponses: 0
    Dernier message: 10/02/2012, 10h05
  2. Problème lors de l'upload d'un fichier
    Par ghir_ana dans le forum Langage
    Réponses: 1
    Dernier message: 21/08/2011, 12h53
  3. Problème lors de l'upload d'un fichier
    Par youtpout978 dans le forum ASP.NET
    Réponses: 7
    Dernier message: 29/07/2011, 14h28
  4. Réponses: 2
    Dernier message: 25/09/2007, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo