Probléme avec un script d'upload d'images

Probléme avec un script d'upload d'images - PHP - Programmation

Marsh Posté le 06-10-2005 à 22:02:36    

Bonjours à tous !  
 
J'ai ce script :
 
page de formulaire :  
 

Code :
  1. <?PHP
  2. session_start();
  3. require "conf.php3";
  4. mysql_connect("$sql_serveur","$sql_login","$sql_pass" );
  5. mysql_select_db("$sql_bdd" );
  6. if ($file == "none" )
  7. {
  8. echo("<font class='txt'><b>[ Spécifiez un fichier à envoyer ]</b></font>" );
  9. }
  10. else
  11. {
  12.     /* indiquer $dest_file qui correspond au répertoire de destination */
  13. $source_file=$file;
  14. $size=filesize($source_file);
  15. if($size>10000000)
  16. {
  17. echo("<font class='txt'><b>Le fichier est trop volumineux.</b></font>" );
  18. }
  19. else
  20. {
  21.         if($HTTP_POST_FILES['file']['type']=="image/pjpeg" ){ $ext="jpg"; }
  22.  elseif($HTTP_POST_FILES['file']['type']=="image/jpeg" ){ $ext="jpeg"; }
  23.         elseif($HTTP_POST_FILES['file']['type']=="image/gif" ){ $ext="gif"; }
  24. $img=".$ext";
  25.        
  26.         if($HTTP_POST_FILES['file']['type']=="image/pjpeg"|$HTTP_POST_FILES['file']['type']=="image/gif"|$HTTP_POST_FILES['file']['type']=="image/jpeg" ){
  27.         $query = "UPDATE pdf_membre SET `chemin_img`='img/img/$gal-$date..$ext' WHERE pseudo='$pseudo_session'";
  28.         mysql_query($query);
  29.         $id=mysql_insert_id();
  30. $dest_file="img/img/$gal-$date.";
  31. $res_copy=copy($source_file,$dest_file.$ext);
  32. echo("<font class='txt'><b>[ Fichier envoyé ]</b></font><br><br>" );
  33. echo("<img src='$dest_file$ext' alt='$pseudo'>" );
  34.  }
  35.         else{ echo("<font class='txt'><b>Type du fichier:".$HTTP_POST_FILES['file']['type']."<br>Format Invalide</b></font><br>" ); }
  36. }
  37. }
  38. ?>

 
 
et ma page de recéption (upimg2.php, la ligne 62 corespond ici à la 53 ...) :
 

Code :
  1. <?PHP
  2. require "conf.php3";
  3. mysql_connect("$sql_serveur","$sql_login","$sql_pass" );
  4. mysql_select_db("$sql_bdd" );
  5. $gal = $_POST['gal'];
  6. $nom = $_POST['nom'];
  7. $pseudo = $_POST['pseudo'];
  8. $jour = date ("d" );
  9. $mois = date ("m" );
  10. $annee = date ("Y" );
  11. $heure = date ("H" );
  12. $minutes = date ("i" );
  13. $date = "$jour/$mois/$annee à $heure:$minutes";
  14. if ($file == "none" )
  15. {
  16. echo("<font class='txt'><b>[ Spécifiez un fichier à envoyer ]</b></font>" );
  17. }
  18. else
  19. {
  20.     /* indiquer $dest_file qui correspond au répertoire de destination */
  21. $source_file=$file;
  22. $size=filesize($source_file);
  23. if($size>1000000)
  24. {
  25. echo("<font class='txt'><b>Le fichier est trop volumineux.</b></font>" );
  26. }
  27. else
  28. {
  29.         if($HTTP_POST_FILES['file']['type']=="image/pjpeg" ){ $ext="jpg"; }
  30.  elseif($HTTP_POST_FILES['file']['type']=="image/jpeg" ){ $ext="jpeg"; }
  31.         elseif($HTTP_POST_FILES['file']['type']=="image/gif" ){ $ext="gif"; }
  32.  elseif($HTTP_POST_FILES['file']['type']=="image/JPG" ){ $ext="JPG"; }
  33.  elseif($HTTP_POST_FILES['file']['type']=="image/png" ){ $ext="png"; }
  34.  elseif($HTTP_POST_FILES['file']['type']=="image/bmp" ){ $ext="bmp"; }
  35. $img=".$ext";
  36.        
  37.         if($HTTP_POST_FILES['file']['type']=="image/pjpeg"|$HTTP_POST_FILES['file']['type']=="image/gif"|$HTTP_POST_FILES['file']['type']=="image/jpeg" ){
  38.         $query = "INSERT INTO $gal SET `id`='', `nom`='$nom', `url`='img/$gal-$date.$ext', `genre`='$gal', `posteur`='$pseudo', `date`='$date'";
  39.         mysql_query($query);
  40. $dest_file="img/img/$gal-$date.";
  41. $res_copy=copy($source_file,$dest_file.$ext);
  42. echo("<font class='txt'><b>[ Fichier envoyé ]</b></font><br><br>" );
  43. echo("<img src='$dest_file$ext' alt='$pseudo'>" );
  44.  }
  45.         else{ echo("<font class='txt'><b>Type du fichier:".$HTTP_POST_FILES['file']['type']."<br>Format Invalide</b></font><br>" ); }
  46. }
  47. }
  48. ?>


 
qui me revois sa :  
 
Warning: copy(img/img/fun_films-06/10/2005 à 21:57.jpeg): failed to open stream: No such file or directory in /home/natega/public_html/fun/upimg2.php on line 62
 
J'ai vérifier bon nombre de fois tous ce que je pouvais. Mes repértoirs existe et sous en permission 777. Si vous pouviez m'écliarer un peu ... Ce script marche en un peu plus ismple sur un autre de mes site ...
 
Si j'ai oublié quelque chose, un préssision, demandez moi !  
 
Merci d'avance

Reply

Marsh Posté le 06-10-2005 à 22:02:36   

Reply

Marsh Posté le 06-10-2005 à 22:57:44    

Bonsoir,  
 
Il est possible que le problème provienne de la variable "$date"
 
$date = "$jour/$mois/$annee à $heure:$minutes"
A remplacer par
$date = "$jour/$mois/$annee_$heure_$minutes";
 
Car le :
Warning: copy(img/img/fun_films-06/10/2005 à 21:57.jpeg)
"2005 à 21:57.jpeg" > il y'a un "à" est des " " (espaces)

Reply

Marsh Posté le 06-10-2005 à 23:10:41    

C'est quoi $file ?
 
Et je vois pas de formulaire, mais deux scripts qui ont quasiment la même tronche. [:figti]
 
Sinon en vrac, l'indentation est moche, HTTP_POST_FILES est périmé, on évite de balancer des données post ou autre dans une bdd dans mysql_real_escape_string, un ou logique c'est pas | mais ||, etc etc...

Reply

Marsh Posté le 07-10-2005 à 09:07:50    

pas de "/" dans les nom de fichier ^^


---------------
:Moultiplayers:.:Quatuor Chevalier:.:Admin G15-france.com:.:Wiki -G15-france:.:-Papa-:.
Reply

Marsh Posté le 07-10-2005 à 17:58:31    

Ben wi !! Merci ! Je l'avais pas vue sa ... merci ! sa tourne.
 
Pour le codage, c'est vrai que c'est pas trés bon, mais c'est pas de moi. C'était dans une page et je l'est séparer donc voila ... vu que je ne comprant pas top le code, j'ai pas voulu trop y toucher. Sa marche, c'est tous ce que je demande ...  
 
Merci à tous !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed