[php] Upload fichier [Résolu]

Upload fichier [Résolu] [php] - PHP - Programmation

Marsh Posté le 13-05-2004 à 15:54:27    

Bonjour,
 
je n'arrive pas à récuperer un fichier uploader sur le serveur.
 
Formulaire :


<html>
<body>
 <FORM method="POST" action="Test en bois2.php4" enctype="multipart/form-data">
  <input type='hidden' name='MAX_FILE_SIZE' value='10000000'>
  <input type="file" name="fichier">
  <input type="submit" name="ok">
 </FORM>
</body>
</html>


 
Mais ca n'upload pas du tout
Le fichier temporaire est correctement configuré dans le fichier de config. Ce n'est pas un problème de taille limite (petit fichier et de toute facon limite fixée à 10 Mo dans le fichier de config)
Ce n'est pas un probleme de temps non plus car le temps d'execution maxi est de 30 sec dans le fichier de config.
 
Il n'y a rien a faire je ne parviens pas a récupérer le fichier dans le dossier prévu. La copie que je tente de faire plante donc lamentablement.
 
En essayant d'afficher les attributs du tableau généré j'obtient ca :
 
$fichier = $_FILES['fichier'];
 echo $fichier['tmp_name']; --> C:\...\tmp\php811.tmp
 echo $fichier['name']; --> lismoi.txt
 echo $fichier['size']; --> 1444
Je ne vois vraiment pas d'ou ca peut venir.
 
Merci de votre aide


Message édité par hop le fou le 13-05-2004 à 16:56:19
Reply

Marsh Posté le 13-05-2004 à 15:54:27   

Reply

Marsh Posté le 13-05-2004 à 15:56:06    

Yop et le code PHP ?

Reply

Marsh Posté le 13-05-2004 à 16:03:34    

Quel code php?
Ensuite je le copie juste sur un endroit fixe du serveur


<?php
 echo "Test Upload <BR>";
  $fichier = $_FILES['fichier'];
 echo "<BR>";
 
 echo $fichier['tmp_name']; echo"<BR>";
 echo $fichier['name']; echo"<BR>";
 echo $fichier['size']; echo"<BR>";
 
 if (copy($fichier['tmp_name'],"C:\\...\\" ))
 {
  echo "OK";
 }
 else
 {
  echo "Pas OK";
 }
?>

Reply

Marsh Posté le 13-05-2004 à 16:14:26    

Moi j'ai un truc que j'ai fait avant hier, et ça marche ...  
donc c'est pour ça que je te demandai le code !!

Reply

Marsh Posté le 13-05-2004 à 16:15:51    

Ben la ca marche...
Le fichier n'apparait pas dans le répertoire fixé...
Comprend pas...

Reply

Marsh Posté le 13-05-2004 à 16:17:33    

Bof j'ai pas envi de chercher d'où ça vient là , je te passe mon code j'espere que tu te retrouvera dedans .  
 
Le code:
 

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
  3. <head>
  4.       <title>Galerie</title>
  5.       <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15" />
  6.       <meta http-equiv="Content-Script-Type" content="text/javascript" />
  7.       <meta http-equiv="Content-Style-Type" content="text/css" />
  8.       <meta http-equiv="Content-Language" content="fr" />
  9.      
  10.       <link rel="stylesheet" type="text/css" href="galerie.css" media="screen" title="galerie" />
  11. </head>
  12. <body>
  13. <form enctype="multipart/form-data" action="thumb.php" method="post">
  14.       <input type="hidden" name="MAX_FILE_SIZE" value="600000" />
  15.       Ma photo <input type="file" name="maphoto" />
  16. <input type="submit" />
  17. </form>
  18. <dl class="gallery">
  19. <dt><a href="soleil.jpg"><img src="<?= RatioResizeImg("soleil.jpg","200","100","" ); ?>" alt=""></a></dt>
  20. <dt>Ici le titre</dt>
  21. <dd>Ici la description</dd>
  22. </dl>
  23. <dl class="gallery">
  24. <dt><img src="<?= RatioResizeImg("soleil.jpg","200","100","" ); ?>" alt=""></dt>
  25. <dt>Ici le titre</dt>
  26. <dd>Ici la description</dd>
  27. </dl>
  28. <br/>
  29. <?
  30.     // définition de l'espace destiné à recevoir les fichiers
  31.     // si un fichier maphoto a bien été transféré
  32.     if (is_uploaded_file($_FILES["maphoto"]["tmp_name"])) {
  33.         // recupération de l'extension du fichier
  34.         // autrement dit tout ce qu'il y a après le dernier point (inclus)
  35.         $nomPhoto = $_FILES["maphoto"]["name"];
  36.         $extension = substr($nomPhoto, strrpos($nomPhoto, "." ));
  37.         // Contrôle de l'extension du fichier
  38.         if (!preg_match ("/^(.*)\.(jpg|png|gif|jpeg)$/i", $nomPhoto ))
  39. {
  40.    die("/!\fichier non autorisé/!\ seuls les extensions jpg,jpeg,png,gif sont autorisés" );
  41. }
  42.         rename($_FILES["maphoto"]["tmp_name"], $nomPhoto);
  43.         ?>
  44.         <dl class="gallery">
  45.          <dt><a href="<?=$nomPhoto?>"><img src="<?= RatioResizeImg($nomPhoto,"200","100","" ); ?>" alt=""></a></dt>
  46.          <dt>Ici le titre</dt>
  47.          <dd>Ici la description</dd>
  48.         </dl>
  49.         </body>
  50.         </html>
  51.      <?
  52.     }
  53. function RatioResizeImg( $image, $newWidth, $newHeight, $path)
  54.    {
  55.       // chemin complet de l'image :
  56.       $chemin = $path.$image;
  57.       // détéction du type de l'image
  58.       eregi("(...)$",$chemin,$regs);
  59.       $type = strtolower($regs[1]);
  60.       switch( $type )
  61.       { 
  62.          case "gif": $srcImage = @imagecreatefromgif( $chemin ); break
  63.          case "jpg": $srcImage = @imagecreatefromjpeg( $chemin ); break
  64.          case "png": $srcImage = @imagecreatefrompng( $chemin ); break
  65.          default : unset( $type ); break;
  66.       } 
  67.      
  68.       if( $srcImage )
  69.       {
  70.          // hauteurs/largeurs
  71.          $srcWidth = imagesx( $srcImage );
  72.          $srcHeight = imagesy( $srcImage ); 
  73.          $ratioWidth = $srcWidth/$newWidth;
  74.          $ratioHeight = $srcHeight/$newHeight;
  75.          
  76.          // taille maximale dépassée ?
  77.          if (($ratioWidth > 1) || ($ratioHeight > 1))
  78.          {
  79.             if( $ratioWidth < $ratioHeight)
  80.             { 
  81.                $destWidth = $srcWidth/$ratioHeight;
  82.                $destHeight = $newHeight;
  83.             }
  84.             else
  85.             { 
  86.                $destWidth = $newWidth; 
  87.                $destHeight = $srcHeight/$ratioWidth;
  88.             }
  89.          }
  90.          else
  91.          {
  92.             $destWidth = $srcWidth;
  93.             $destHeight = $srcHeight;
  94.          }
  95.          // selon votre version de GD installée sur le serveur hébergeur,
  96.          // utilisez la partie 1 ou 2 en retirant ou   
  97.          // rajoutant les caractères de commentaire "//"
  98.          
  99.          // Partie 1 : GD 2.0 ou supérieur, résultat très bons
  100.          $destImage = imagecreatetruecolor( $destWidth, $destHeight); 
  101.          imagecopyresampled( $destImage, $srcImage, 0, 0, 0, 0, $destWidth,$destHeight,$srcWidth,$srcHeight );
  102.          // Partie 2 : GD inférieur à 2, résultat très moyens
  103.          //$destImage = imagecreate( $destWidth, $destHeight);
  104.          //imagecopyresized( $destImage, $srcImage, 0, 0, 0, 0, $destWidth,$destHeight,$srcWidth,$srcHeight );
  105.          
  106.          if( !is_dir( $path."thumb" ) )
  107.          {
  108.             mkdir( $path."thumb", 0777 );
  109.          }
  110.          $dest_file  = $path."thumb/".$image;
  111.          
  112.          // création et sauvegarde de l'image finale
  113.          /* Ici on peut éditer le chemin de sauvegarde ($dest_file) */
  114.          switch($type)
  115.          {
  116.             case "gif": @imagegif($destImage, $dest_file); break
  117.             case "jpg": @imagejpeg($destImage, $dest_file); break
  118.             case "png": @imagepng($destImage, $dest_file); break;
  119.          }
  120.          
  121.          // libère la mémoire
  122.          imagedestroy( $srcImage );
  123.          imagedestroy( $destImage );
  124.          
  125.          // renvoit l'URL de l'image
  126.          return $dest_file;
  127.       }
  128.       // erreur
  129.       else
  130.       {
  131.          echo "Image inexistante ou aucun support ";
  132.          if ($type)
  133.          {
  134.             echo "pour le format $type";
  135.          }
  136.          else
  137.          {
  138.             echo "pour ce format de fichier";
  139.          }
  140.          exit();
  141.       }
  142.    }
  143.  
  144.    ?>


 
je te file le CSS qui va bien:
 
galerie CSS:

Code :
  1. dl.gallery
  2. {
  3. border: 1px solid #000;
  4. background-color: #ddd;
  5. text-align: center;
  6. padding: 10px;
  7. float: left;
  8. margin-right: 1em;
  9. }
  10. .gallery dt { font-weight: bold; }
  11. .gallery dt img
  12. {
  13. border: 1px solid #000;
  14. }
  15. .gallery dd
  16. {
  17. margin: 0;
  18. padding: 0;
  19. }


 
Et le résultat  
 
http://asptt.basket.sn.free.fr/photo/galerie/thumb.php


Message édité par protoinou le 13-05-2004 à 16:19:47
Reply

Marsh Posté le 13-05-2004 à 16:56:02    

Trouvé
En fait il est interdit de copier les fichier temporaires...
On peut juste le déplacer à l'aide de la fonction rename...
Trop lourd...
 
Merci

Reply

Sujets relatifs:

Leave a Replay

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