Tom's Guide > Forum > Programmation > [PHP] petit bug dans un script d'upload

[PHP] petit bug dans un script d'upload

Forum Programmation : [PHP] petit bug dans un script d'upload

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Voila j'ai fait un script qui permet l'upload de photo mais voila parfois j'obtient la réponse "La photo n'est pas bonne" j'ai du créer cet erreur car sinon cela faisait bugger le script mais bon pourquoi certaine photo ne veulent tel pas etre uploader.

Voici la code :

Code :
  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.    
  19.     if($img == 'jpeg' || $img == 'JPEG') {
  20.     $phrase  = $_FILES['club']['name'];
  21.     $regime = $img;
  22.     $img2 = 'jpg';
  23.     $bonne_chere  = $img2;
  24.     $_FILES['club']['name'] = str_replace($regime, $bonne_chere, $phrase);
  25.     $img = $img2;
  26.     }
  27.    
  28.     if($_FILES['club']['size'] == 0) {
  29.     echo 'La photo n\'est pas bonne';
  30.     }
  31.     else {
  32.    
  33.     if (!in_array($img, $extensions_ok)) {
  34.         $erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
  35.    
  36.     /*if ( (file_exists($_FILES['photo']['tmp_name'])) && (filesize($_FILES['photo']['tmp_name']) > $taille_max) ) {
  37.         $erreur = 'Votre fichier doit faire moins de 100Ko !';
  38.     } else {
  39.         $erreur = 'Aucune erreur.';
  40.     }*/
  41.     echo $erreur;
  42.     }
  43.     // copie du fichier
  44.     if (!isset($erreur)) {
  45.         $dest_fichier = basename($_FILES['club']['name']);
  46.         // formatage nom fichier
  47.        
  48.             $sql = 'SELEC* nom FROM* photo_club ORDER BY numero ASC';
  49.             $req = mysql_query($sql) or die ('ERREUR SQL !<br>'.$sql.'<br>'.mysql_error());
  50.             $data = mysql_num_rows($req);
  51.            
  52.            
  53.             //si $data == 0 alors il n'y a rien dans la BDD donc le futur enregistrement sera 001
  54.             if($data == 0) {
  55.             $futur_nom_numero = '001';
  56.             //ajout extension
  57.             $nom_numero = '001'.'.'.$img;
  58.            
  59.             //On vas prendre le numero du login dans la BDD
  60.            
  61.             //Insertion dans la BDD
  62.             $sql_ajout = 'INSER* INTO photo_club VALUES ("", "'.$nom_numero.'", "'.$dest_dossier.'", "'.$_FILES['club']['size'].'", "'.$img.'", "'.$_SESSION['login_numero'].'", "", "0" )';
  63.             $req_ajout = mysql_query($sql_ajout) or die ('ERREUR SQL !<br>'.$sql_ajout.'<br>'.mysql_error());
  64.            
  65.                 echo 'Photo en cous de validation';
  66.            
  67.             }
  68.             else {
  69.            
  70.             //on retire l'extension dans $data1[0]
  71.             $numero_extension = strlen($img);
  72.             $numero_extension = -($numero_extension+1);
  73.             while($data1 = mysql_fetch_array($req)) {           
  74.             $nom_avant = substr($data1['nom'],0, $numero_extension);
  75.             }
  76.            
  77.             echo $data1['nom'];
  78.            
  79.             //on genere le nom puis on met l'extension
  80.             $futur_nom = $nom_avant + 1;
  81.            
  82.             $nb_caractere_futur = strlen($futur_nom);
  83.             if($nb_caractere_futur == 1) {
  84.             $nom_numero = '00'.$futur_nom.'.'.$img;
  85.             }
  86.             elseif($nb_caractere_futur == 2) {
  87.             $nom_numero = '0'.$futur_nom.'.'.$img;
  88.             }
  89.             elseif($nb_caractere_futur == 3) {
  90.             $nom_numero = $futur_nom.'.'.$img;
  91.             }
  92.             else {
  93.             echo 'ERREUR MAJEUR !';
  94.             }
  95.            
  96.                     $sql_ajout = 'INSERT * INTO photo_club VALUES* ("", "'.$nom_numero.'", "'.$dest_dossier.'", "'.$_FILES['club']['size'].'", "'.$img.'", "'.$_SESSION['login_numero'].'", "", "0" )';
  97.                     $req_ajout = mysql_query($sql_ajout) or die ('ERREUR SQL !<br>'.$sql_ajout.'<br>'.mysql_error());
  98.            
  99.                     echo 'Photo en cous de validation';
  100.        
  101.         }
  102.        
  103.        
  104.        
  105.         // copie du fichier
  106.         $fichier = $dest_dossier.$nom_numero;
  107.         move_uploaded_file($_FILES['club']['tmp_name'], $fichier);
  108.     }
  109. }
  110. }
  111. ?>
  112. </body>
  113. </html>



IL y a des portions de code qui ne servent plus a rien car je modifie jpeg en jpeg direct pour permettre d'avoir que 3 lettre alors que avant je faisait pas cela, au début je pensait que c'etait pour cette raison que pour certaine photo cela bugger mais non car cela met arriver avec un png !

Merci

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.
Tom's Guide > Forum > Programmation > [PHP] petit bug dans un script d'upload
Aller à :

Il y a 451 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens