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

  FORUM HardWare.fr
  Programmation
  PHP

  [php] Upload fichier [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php] Upload fichier [Résolu]

n°724849
hop le fou
Tu m'en diras tant
Posté le 13-05-2004 à 15:54:27  profilanswer
 

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
mood
Publicité
Posté le 13-05-2004 à 15:54:27  profilanswer
 

n°724852
protoinou
Posté le 13-05-2004 à 15:56:06  profilanswer
 

Yop et le code PHP ?

n°724859
hop le fou
Tu m'en diras tant
Posté le 13-05-2004 à 16:03:34  profilanswer
 

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";
 }
?>

n°724866
protoinou
Posté le 13-05-2004 à 16:14:26  profilanswer
 

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 !!

n°724867
hop le fou
Tu m'en diras tant
Posté le 13-05-2004 à 16:15:51  profilanswer
 

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

n°724871
protoinou
Posté le 13-05-2004 à 16:17:33  profilanswer
 

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
n°724906
hop le fou
Tu m'en diras tant
Posté le 13-05-2004 à 16:56:02  profilanswer
 

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


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

  [php] Upload fichier [Résolu]

 

Sujets relatifs
[ASP 3.0] Upload des fichiers binaires sur le serveurArborescence de fichier et checkbox
lister le dernier fichier d'un répertoireRaccourci fichier.....
convertir du numérique en alphabetique [résolu]Valider un fichier xml avec une dtd
Upload de fichier (probleme résolu :D)[PHP] Upload de fichier via "input type=file" [résolu : bug a la con]
[PHP] Pb avec droit apres upload d'un fichier [RESOLU]Upload de fichier SQL de 12 Mo avec PHPMyAdmin [résolu]
Plus de sujets relatifs à : [php] Upload fichier [Résolu]


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