Se connecter avec
S'enregistrer | Connectez-vous

cherche un petit script

Dernière réponse : dans Programmation
Lassé par la pub ? Créez un compte
Expert Programmation

moi j'utilise ca :

  1. <?php
  2. // ############################################################ //
  3. // Script pour Upload de fichier quelconque sur un serveur //
  4. // ############################################################ //
  5. // Infos : //
  6. // ------- //
  7. // Auteur : Fabien Guillod //
  8. // Email de l'auteur : f_guillod@bluewin.ch //
  9. // Date de création : 8 mars 2005 //
  10. // Dernière modification : 10 mars 2005 //
  11. // Version : 1.0.0 //
  12. // ############################################################ //
  13. // Fonctionnement : //
  14. // ---------------- //
  15. // 1. Test si l'utilisateur a choisi un fichier //
  16. // 2. Test si le fichier choisi est valide (si taille <> 0) //
  17. // 3. Test si le taille du fichier est inférieure à la taille //
  18. // max //
  19. // 4. Test si l'extension est autorisée. //
  20. // ############################################################ //
  21. // Paramètrage : //
  22. // ------------- //
  23. // Ce script peut facilement être paramètré selon les besoins. //
  24. // Le paramètrage se fait principalement par la définition des //
  25. // variables globales. Voici les différentes variables : //
  26. // //
  27. // - $DESTINATION_FOLDER : contient le répertoire dans lequel //
  28. // le fichier sera uploadé. Il est par défaut récupéré du //
  29. // formulaire, mais peut très bien être remplacé par un url //
  30. // en dur. //
  31. // //
  32. // - $MAX_SIZE : spécifie la taille maximale que le fichier à //
  33. // uploader peut avoir. Attention, le taille est spécifiée //
  34. // en octets. //
  35. // //
  36. // - $RETURN_LINK : Récupère automatiquement l'url de la page //
  37. // web qui appelle ce script. Ce lien sert à créer des liens //
  38. // de retour, qui sont toujours utiles. //
  39. // //
  40. // - $AUTH_EXT : Ce tableau contient toutes les extensions qui //
  41. // peuvent être uploadées. On peut en rajouter ou en //
  42. // supprimer si besoin est. //
  43. // ############################################################ //
  44.  
  45. // ############################################################ //
  46. // Définition des variable globales, modifiables à volonté //
  47. // ############################################################ //
  48. // Récupération du dossier dans lequel le fichier sera uploadé //
  49. $DESTINATION_FOLDER = $_POST["folder"]; //
  50. // Taille maximale de fichier, valeur en bytes //
  51. $MAX_SIZE = 5; //
  52. // Récupération de l'url de retour //
  53. $RETURN_LINK = $_SERVER['HTTP_REFERER']; //
  54. // Définition des extensions de fichier autorisées (avec le ".")//
  55. $AUTH_EXT = array(".doc", ".mp3", ".jpg", ".ppt", ".xls", //
  56. ".bmp", ".gif"); //
  57. // ############################################################ //
  58.  
  59. // Fonction permettant de créer un lien de retour automatique
  60.  
  61. function createReturnLink(){
  62. global $RETURN_LINK;
  63. echo "<a href='".$RETURN_LINK."'>Retour</a><br>";
  64. }
  65.  
  66. // Fonction permettant de vérifier si l'extension du fichier est
  67. // autorisée.
  68.  
  69. function isExtAuthorized($ext){
  70. global $AUTH_EXT;
  71. if(in_array($ext, $AUTH_EXT)){
  72. return true;
  73. }else{
  74. return false;
  75. }
  76. }
  77.  
  78. // On vérifie que le champs contenant le chemin du fichier soit
  79. // bien rempli.
  80.  
  81. if(!empty($_FILES["file"]["name"])){
  82.  
  83. // Nom du fichier choisi:
  84. $nomFichier = $_FILES["file"]["name"] ;
  85. // Nom temporaire sur le serveur:
  86. $nomTemporaire = $_FILES["file"]["tmp_name"] ;
  87. // Type du fichier choisi:
  88. $typeFichier = $_FILES["file"]["type"] ;
  89. // Poids en octets du fichier choisit:
  90. $poidsFichier = $_FILES["file"]["size"] ;
  91. // Code de l'erreur si jamais il y en a une:
  92. $codeErreur = $_FILES["file"]["error"] ;
  93. // Extension du fichier
  94. $extension = strrchr($nomFichier, ".");
  95.  
  96. // Si le poids du fichier est de 0 bytes, le fichier est
  97. // invalide (ou le chemin incorrect) => message d'erreur
  98. // sinon, le script continue.
  99. if($poidsFichier <> 0){
  100. // Si la taille du fichier est supérieure à la taille
  101. // maximum spécifiée => message d'erreur
  102. if($poidsFichier > $MAX_SIZE){
  103. // On teste ensuite si le fichier a une extension autorisée
  104. if(isExtAuthorized($extension)){
  105. // Ensuite, on copie le fichier uploadé ou bon nous semble.
  106. $uploadOk = move_uploaded_file($nomTemporaire, $DESTINATION_FOLDER.$nomFichier);
  107. if($uploadOk){
  108. echo("L'upload a réussi !<br><br>");
  109. echo(createReturnLink());
  110. }else{
  111. echo("L'upload a échoué !<br><br>");
  112. echo(createReturnLink());
  113. }
  114. }else{
  115. echo ("Les fichiers avec l'extension $extension ne peuvent pas être uploadés !<br>");
  116. echo (createReturnLink()."<br>");
  117. }
  118. }else{
  119. $tailleKo = $MAX_SIZE / 1000;
  120. echo("Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : $tailleKo Ko.<br>");
  121. echo (createReturnLink()."<br>");
  122. }
  123. }else{
  124. echo("Le fichier choisi est invalide !<br>");
  125. echo (createReturnLink()."<br>");
  126. }
  127. }else{
  128. echo("Vous n'avez pas choisi de fichier !<br>");
  129. echo (createReturnLink()."<br>");
  130. }
  131. ?>
Expert Programmation

et la partie html :

  1. <form name="upload" enctype="multipart/form-data" method="post" action="upload.php">
  2. <input type="file" name="file">
  3. <br><br>
  4. Choisir le dossier de destination :<br>
  5. <select name="folder">
  6. <option value="folder01/">Dossier 1</option>
  7. </select>
  8. <br><br>
  9. <input type="submit" name="bouton_submit" value="Envoyer le fichier">
  10. </form>



et dans ta page d'envoi (ici upload.php) juste un include du 1er script :
  1. <?php
  2. include("uploader.php");
  3. ?>

J'ai un problème avec le script,

J'ai ma page : index.html qui contient le code HTML.
Une page php : upload.php qui contient le code PHP que tu as donné plus haut. (pas l'include).

J'ai tout configuré, mais je tombe sur une page d'erreur lors de l'envoie d'un fichier :
Citation :
Vous ne pouvez pas uploader de fichiers dont la taille est supérieure à : 300000 Ko.
Retour


Une idée ? :( 

PS : Evidement le fichier que j'envoie est inférieur a 300000 Ko :pt1cable: .
Lassé par la pub ? Créez un compte
Tom's guide dans le monde