Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1558 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Problème de déplacement d'un fichier uploadé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de déplacement d'un fichier uploadé

n°1571360
Tristou
Keep calm and hack cookies
Posté le 07-06-2007 à 10:35:56  profilanswer
 

Bonjour,

 

je suis en train de coder un forum et  j'en suis actuellement à l'upload d'un avatar.La démarche est simple : je fais des vérifications d'usage (taille, poids, etc.), je renomme le fichier uploadé par l'ID du membre qui uploade de manière à ne pas avoir un même nom puis je déplace dans le bon dossier. Seul problème, j'ai ce message d'erreur en double :

 


Warning: move_uploaded_file(C:/Program Files/~Internet/EasyPHP1-8\tmp\php58A.tmp): failed to open stream: No such file or directory in c:\program files\~internet\easyphp1-8\www\forum\confirmation.php on line 210

 

J'ai donc fais des recherches pour en trouver la cause : ce n'est pas le CHmod vu que je suis sous Windows avec EasyPHP, le chemin vers le fichier est normalement correcte et ça me modfifie correctement le nom.

 

Voilà le code, je ne met que la partie traitement (scission du nom du fichier, renommage et déplacement.

 
Code :
  1. if(count($erreurs) == 0)
  2.                  {
  3.                        $nomdufichier = strtolower($_FILES['upload_avatar']['name']);
  4.                        $div_fichier = explode ('.', $nomdufichier);
  5.                        $nom_temp = $div_fichier[0];
  6.                        $extension = $div_fichier[1];
  7.                        $membre_id = $affichage['membre_id'];
  8.                        $nom_fichier_final = str_replace($nom_temp, $membre_id, $nom_temp);
  9.                        $nomdufichier = $nom_fichier_final. '.' .$extension;
  10.                                        
  11.            if ($affichage['membre_avatar'] != '' AND is_file('./template/images/avatars/'.$affichage['membre_avatar'].''))
  12.                {
  13.                  unlink('./template/images/avatars/'.$affichage['membre_avatar'].''); //On supprime fichier
  14.                                                
  15.                   $cheminversfchier = './template/images/avatars/'.$nomdufichier.'';
  16.                   $move_fichier = move_uploaded_file($_FILES['upload_avatar']['tmp_name'], $cheminversfichier);
  17.                   $requete_ajout_fichier = mysql_query('UPDATE forum_membres SET membre_avatar ="' .mysql_real_escape_string($nomdufichier). '" WHERE membre_id ="' .mysql_escape_string($_SESSION['id']).'"') or die (mysql_error());
  18.                }
  19.           else
  20.                {
  21.                    $cheminversfchier = './template/images/avatars/'.$nomdufichier.'';
  22.                    $deplace_fichier = move_uploaded_file($_FILES['upload_avatar']['tmp_name'], $cheminversfichier);
  23.                    $requete_ajout_fichier = mysql_query('UPDATE forum_membres SET membre_avatar ="' .mysql_real_escape_string($nomdufichier). '" WHERE membre_id ="' .mysql_escape_string($_SESSION['id']).'"') or die (mysql_error());
  24.                }
  25.                                          
  26.           if($deplace_fichier AND $requete_ajout_fichier)
  27.                {
  28.                    echo UPLOAD_OK;
  29.                }
  30.            else
  31.                {
  32.                   echo ERREUR_TRANSFERT_UPLOAD_AVATAR;
  33.                }
  34.                }                          
  35.           else
  36.                {
  37.                   echo '<div class="erreur_forum"><img src="./template/images/cancel.png"/> Erreur : l\'upload a &eacute;chou&eacute; pour les raisons suivantes :<br/>';
  38.                   foreach ($erreurs as $erreur) echo $erreur, '<br/>';
  39.                    echo'<br/><a href="upload.php?type=avatar" title="Retourner &agrave; la page d\'upload d\'avatar">Retour &agrave; la page d\'upload d\'un avatar</a>.</div>';
  40.  
  41.                  }
 

Merci d'avance ;)


Message édité par Tristou le 07-06-2007 à 10:43:53

---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
mood
Publicité
Posté le 07-06-2007 à 10:35:56  profilanswer
 

n°1571368
omega2
Posté le 07-06-2007 à 10:43:43  profilanswer
 

Par hasard, cette partie de ton code, elle serait pas exécuté quelque part dans une boucle?

n°1571371
Tristou
Keep calm and hack cookies
Posté le 07-06-2007 à 10:45:28  profilanswer
 

Par boucle tu entends par exemple while ou bien un switch ?


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1571375
omega2
Posté le 07-06-2007 à 10:48:05  profilanswer
 

Un switch n'est pas une boucle.
Un while, un for, un foreach ... en sont.
 
PS : Si t'as des switch, n'oublis pas de mettre tous les "break" nécessaire. C'est le genre d'oublis qui peut faire tourner en bourique pendant un moment. ;)

n°1571387
Tristou
Keep calm and hack cookies
Posté le 07-06-2007 à 10:56:05  profilanswer
 

Alors euuuh non, le bout de code plus haut n'est pas dans une boucle, la seule boucle, c'est le foreach pour énumérer les erreurs en cas de fichier trop grand, trop grand avec un mauvais type ;)
 
J'ai vérifié, il ne manque pas de break; sinon il y aurait peut-être une erreur ou un autre comportement anormal non ?
 


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°1571413
Tristou
Keep calm and hack cookies
Posté le 07-06-2007 à 11:18:44  profilanswer
 

Corrigé, ça marche nickel, un bête nom de variable pas ortographié pareil :o


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Problème de déplacement d'un fichier uploadé

 

Sujets relatifs
Remplacer une chaine dans un fichier .txt[Actionscript] Télécharger un fichier
....probleme de contextmenu
[Matlab] Petit problème pour petite routine[résolu] Problème d'include chez Free mais pas en local
[SHELL] Supprimer les lignes blanches d'un fichierGénérer un fichier excel avec menus déroulants
insertion à partir d'un fichier texte dans un fichier excel 
Plus de sujets relatifs à : Problème de déplacement d'un fichier uploadé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR