upload de photo probleme

Répondre
SiM07
le 21/07/2005 à 17:42
SiM07
Voici le srcipt avant :

  1. <?
  2. session_start();
  3. ?>

  4. <html>
  5. <head>
  6. <title>Traitement de votre proposition</title>

  7. <body bgcolor="446DA4">
  8. <?

  9. include 'include/config.inc.php';

  10. if(isset($_FILES['club'])) {
  11. // params unset($erreur);
  12. $extensions_ok = array('png', 'gif', 'jpg', 'jpeg', 'JPEG', 'JPG');
  13. $taille_max = 999999;
  14. $dest_dossier = 'photo/club/';
  15. // vérifications
  16. $img = substr(strrchr($_FILES['club']['name'], '.'), 1);
  17. echo $_FILES['club']['name'].' => format '.$img.'<br>';

  18. if($img == 'jpeg' || $img == 'JPEG') {
  19. $phrase = $_FILES['club']['name'];
  20. $regime = $img;
  21. $img2 = 'jpg';
  22. $bonne_chere = $img2;
  23. $_FILES['club']['name'] = str_replace($regime, $bonne_chere, $phrase);
  24. $img = $img2;
  25. }

  26. if($_FILES['club']['size'] == 0) {
  27. echo 'La photo n\'est pas bonne';
  28. }
  29. else {

  30. if (!in_array($img, $extensions_ok)) {
  31. $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';

  32. /*if ( (file_exists($_FILES['photo']['tmp_name'])) && (filesize($_FILES['photo']['tmp_name']) > $taille_max) ) {
  33. $erreur = 'Votre fichier doit faire moins de 100Ko !';
  34. } else {
  35. $erreur = 'Aucune erreur.';
  36. }*/
  37. echo $erreur;
  38. }
  39. // copie du fichier
  40. if (!isset($erreur)) {
  41. $dest_fichier = basename($_FILES['club']['name']);
  42. // formatage nom fichier

  43. $sql = 'SELECT nom FROM photo_club ORDER BY numero ASC';
  44. $req = mysql_query($sql) or die ('ERREUR SQL !<br>'.$sql.'<br>'.mysql_error());
  45. $data = mysql_num_rows($req);


  46. //si $data == 0 alors il n'y a rien dans la BDD donc le futur enregistrement sera 001
  47. if($data == 0) {
  48. $futur_nom_numero = '001';
  49. //ajout extension
  50. $nom_numero = '001'.'.'.$img;

  51. //On vas prendre le numero du login dans la BDD

  52. //Insertion dans la BDD
  53. $sql_ajout = 'Insert INTO photo_club VALUES ("", "'.$nom_numero.'", "'.$dest_dossier.'", "'.$_FILES['club']['size'].'", "'.$img.'", "'.$_SESSION['login_numero'].'", "", "0")';
  54. $req_ajout = mysql_query($sql_ajout) or die ('ERREUR SQL !<br>'.$sql_ajout.'<br>'.mysql_error());

  55. echo 'Photo en cous de validation';

  56. }
  57. else {

  58. //on retire l'extension dans $data1[0]
  59. $numero_extension = strlen($img);
  60. $numero_extension = -($numero_extension+1);

  61. while($data1 = mysql_fetch_array($req)) {
  62. $nom_avant = substr($data1['nom'],0, $numero_extension);
  63. }


  64. echo $data1['nom'];

  65. //on genere le nom puis on met l'extension
  66. $futur_nom = $nom_avant + 1;

  67. $nb_caractere_futur = strlen($futur_nom);
  68. if($nb_caractere_futur == 1) {
  69. $nom_numero = '00'.$futur_nom.'.'.$img;
  70. }
  71. elseif($nb_caractere_futur == 2) {
  72. $nom_numero = '0'.$futur_nom.'.'.$img;
  73. }
  74. elseif($nb_caractere_futur == 3) {
  75. $nom_numero = $futur_nom.'.'.$img;
  76. }
  77. else {
  78. echo 'ERREUR MAJEUR !';
  79. }

  80. $sql_ajout = 'Insert INTO photo_club VALUES ("", "'.$nom_numero.'", "'.$dest_dossier.'", "'.$_FILES['club']['size'].'", "'.$img.'", "'.$_SESSION['login_numero'].'", "", "0")';
  81. $req_ajout = mysql_query($sql_ajout) or die ('ERREUR SQL !<br>'.$sql_ajout.'<br>'.mysql_error());

  82. echo 'Photo en cous de validation';

  83. }





  84. // copie du fichier
  85. $fichier = $dest_dossier.$nom_numero;
  86. move_uploaded_file($_FILES['club']['tmp_name'], $fichier);
  87. }
  88. }
  89. }
  90. ?>
  91. </body>
  92. </html>


Bon le probleme est que pour certaine photo eh ben cela ne marche pas, si vous regarder dans le code a un moment j'ai du faire un truc : "LA photo n'est pas bonne" cela arrive rarement mais je ne sait pas pourquoi et comment resoudre le probleme !

Si vous avez un solution je serait preneur.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours