Tom's Guide > Forum > Programmation > Erreur script d'upload
Mot :    Pseudo :           
 

Bonjour,

sur le net je viens de recuperer ce script :

Code :
  1. <?php
  2. //------------------------------------------
  3. // Script réalisé par Webdeb73
  4. // Le 19/12/2004
  5. // Licence GNU / GPL
  6. // webmaster@webmaster-debutant.net
  7. // http://www.webmaster-debutant.net
  8. //------------------------------------------
  9. //--------------------------------------
  10. //  DEFINITION DES VARIABLES
  11. //--------------------------------------
  12. $target    = "www/web/upload/anonyme/";  // Repertoire cible
  13. $max_size  = 5000;    // Taille max en octets du fichier
  14. $width_max  = 3500;        // Largeur max de l'image en pixels
  15. $height_max = 3500;        // Hauteur max de l'image en pixels
  16. $extensions_ok = array(".jpg",".gif",".png",".jpeg" );
  17. //------------------------------------------------------------
  18. //  DEFINITION DES VARIABLES LIEES AU FICHIER
  19. //------------------------------------------------------------
  20. $nom_file  = $_FILES['fichier']['name'];
  21. $taille    = $_FILES['fichier']['size'];
  22. $tmp        = $_FILES['fichier']['tmp_name'];
  23. $chemin    = $target.$_FILES['fichier']['name'];
  24. $extension = substr(strrchr($nom_file, "." ), 0); // Récupération de l'extension
  25. //---------------------------
  26. //  SCRIPT D'UPLOAD
  27. //---------------------------
  28. if($_POST['posted'])
  29. {
  30. // On vérifie si le champ est rempli
  31.   if($_FILES['fichier']['name'])
  32.   {
  33.     // On vérifie l'extension du fichier
  34.     if(in_array(strtolower($extension),$extensions_ok))
  35.     {
  36.       // On récupère les dimensions du fichier
  37.         $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
  38.            
  39.         // On vérifie les dimensions et taille de l'image
  40.         if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($taille <= $max_size))
  41.         {
  42.           // Si c'est OK, on teste l'upload
  43.             if(move_uploaded_file($tmp,$chemin))
  44.             {
  45.               // Si upload OK alors on affiche le message de réussite
  46.                 echo '<p>';
  47.                 echo '<span style="font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 12pt; color : #FF0000">';
  48.                 echo '<strong>Image uploadée avec succès !</strong>';
  49.                 echo '</span>';
  50.                 echo '</p>';
  51.                 echo '<hr />';
  52.                 echo '<p>';
  53.                 echo '<strong>Fichier :</strong> '. $_FILES['fichier']['name'] .'
  54. ';
  55.                 echo '<strong>Taille :</strong> '. $_FILES['fichier']['size'] .' Octets
  56. ';
  57.                 echo '<strong>Largeur :</strong> '. $infos_img[0] .' px
  58. ';
  59.                 echo '<strong>Hauteur :</strong> '. $infos_img[1] .' px
  60. ';
  61.                 echo '</p>';
  62.                 echo '<hr />';
  63.                 echo '
  64. ';
  65.             }
  66.               else
  67.             {
  68.               // Sinon on affiche une erreur système
  69.                 echo '<p>';
  70.                 echo '<span style="font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 12pt; color : #FF0000">';
  71.                 echo "<strong>Problème lors de l'upload !</strong>";
  72.                 echo '</span>';
  73.                 echo '
  74. ';
  75.                 echo '</p>';
  76.             }
  77.         }
  78.           else
  79.         {
  80.           // Sinon erreur sur les dimensions et taille de l'image
  81.                 echo '<p>';
  82.                 echo '<span style="font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 12pt; color : #FF0000">';
  83.                 echo "<strong>Erreur dans les dimensions de l'image uploadée !</strong>";
  84.                 echo '</span>';
  85.                 echo '
  86. ';
  87.                 echo '</p>';
  88.         }
  89.     }
  90.       else
  91.     {
  92.       // Sinon on affiche une erreur pour l'extension
  93.         echo '<p>';
  94.         echo '<span style="font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 12pt; color : #FF0000">';
  95.         echo '<strong>Extension de votre image incorrecte !</strong>';
  96.         echo '</span>';
  97.         echo '
  98. ';
  99.         echo '</p>';
  100.     }
  101.   }
  102.     else
  103.   {
  104.     // Sinon on affiche une erreur pour le champ vide
  105.         echo '<p>';
  106.         echo '<span style="font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 12pt; color : #FF0000">';
  107.         echo '<strong>Le champ de formulaire est vide !</strong>';
  108.         echo '</span>';
  109.         echo '
  110. ';
  111.         echo '</p>';
  112.   }
  113. }
  114. ?>
  115. <html>
  116. <head>
  117. <title>Upload d'une image sur le serveur !</title>
  118. <style type="text/css">
  119. <!--
  120. .Style1 {font-family: "Comic Sans MS"}
  121. -->
  122. </style>
  123. </head>
  124. <body>
  125. <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="formulaire">
  126.     <fieldset>
  127.         <legend><span class="Style1">Formulaire</span></legend>
  128.             <p>
  129.            
  130.                 <span style="font-family : Verdana, Arial, Helvetica, Times New Roman, Times; font-size : 12pt; color : #FF0000">
  131.                 <strong>Envoyer le fichier :</strong>
  132.                 </span>
  133.                
  134.                
  135.                
  136.                 <input type="hidden" name="posted" value="1" />
  137.                 <input name="fichier" type="file" />
  138.                 <input type="submit" name="submit" value="Uploader" />
  139.            
  140.     </p>
  141.   </fieldset>
  142. </form>
  143. </body>
  144. </html>



Or, quand j'upload des pages, a la ligne 58, il met met une erreur.

Voici la ligne 57 à 59 :

Code :
  1. if(move_uploaded_file($tmp,$chemin))
  2.             {



Et l'erreur sur mon site :

Code :
  1. Warning: move_uploaded_file(www/web/upload/anonyme/pub.png): failed to open stream: No such file or directory in /home/fulltuning/web/www/upload/index.php on line 58
  2. Warning: move_uploaded_file(): Unable to move '/tmp/phpkgsCXB' to 'www/web/upload/anonyme/pub.png' in /home/fulltuning/web/www/upload/index.php on line 58



Si vous avez une idée du bug, merci de m'aider ;-)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Bonjour.
Je pense que cela vient du fait que le repertoire d'upload indiqué n'existe pas.
essaye avec

Code :
  1. $target  = /home/fulltuning/web/www/upload/anonyme

en créant bien le sous repertoire anonyme dans le dossier upload

Répondre à aispirit

Salut merci ca marche impec,

par contre comment on fait pour faire :

1/ renomer le fichier par un numero au hasard ?
2/ Prendre ce numéro et afficher Une page du type img?num=4152
3/ donner directement le lien de l'image ?

merci ;-)

Répondre à Jordan-t

Pour la question 1/ :
$max est le numéro maximal
$alea=rand(0,$max);
$chemin = $target.$alea.$extension;

Pour les autres questions, je ne comprend pas trop ?
J'ai mis certaines choses, mais je ne suis pas sûr que c'est ce qu'il faut.
Par contre, comme c'est des scripts différents et sans configuration commune, les chemins doivent être codés directement dans le script et tout ces scripts sont donc à modifiier dès que l'une des configs (repertoire d'upload, par exemple) est changée.
2/
tu met un lien du type :

Code :
  1. <a href=img.php?$alea$extension>img.php?alea$extension></a>


Puis tu définis le script img.php :

Code :
  1. <?php
  2. //récupération des variables
  3. if(isset($_POST["num"])) $imgNum = $_POST["num"];
  4. if(isset($_GET["num"])) $imgNum = $_GET["num"];
  5. //erreur d'utilisation du script
  6. if(!(isset($imgNum)) die("appel incorrect du script img.php" );
  7. //affichage de l'image
  8. echo "<img src=''upload/anonyme/$num />";
  9. ?>


3/ donner directement le lien de l'image :
à l'emplacement désiré, fait un echo $chemin;

Répondre à aispirit

salut tout lmonde
j'aurais besoin de ce script pour mon site, mais le site est en html et comme c'est du php et que je connais vraiment pas le php ...
donc il me faudrait de l'aide pour ce script, j'aimerai que ceux qui viennent sur mon site puisse uploadé des mp3 dans un dossier et je ne sais pas comment faire.
Est ce que quelqu'un peut m'aider?

Répondre à ms2
Tom's Guide > Forum > Programmation > Erreur script d'upload
Aller à :

Il y a 2101 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