Se connecter avec
S'enregistrer | Connectez-vous

Upload php

Dernière réponse : dans Programmation

Bonjour à tous,
Bon, j'ai essayé d'arranger un peu mon code que j'avais posté
aupravant et maintenant ca fonctionne à 80 %, mais
moi je veux que ca fonctionne à 100 % lol.
Quand j'upload des images, ça fonctionne très bien, mais dès que
je veux uploader des images et des fichiers html, là ça cause problème. "Des fois ca marche et des fois ca marche pas :pfff:  "
Je sais qu'il me manque juste un petit truc, mais je ne sais pas lequelle.


Voici mon nouveau code à jour:
  1. <?php
  2. {
  3. $dest_dossier = '/home/upload/';
  4. if(isset($_FILES['html']))
  5. {
  6. // params
  7. unset($erreur);
  8. $extensionshtml = array('html','htm');
  9. $taille_max_html = 500000;
  10.  
  11. // vérifier l'extension
  12. if( !in_array( substr(strrchr($_FILES['html']['name'], '.'), 1), $extensionshtml) )
  13. {
  14. $erreur = 'Selectionner un fichier html !';
  15. }
  16. elseif( file_exists($_FILES['html']['tmp_name'])
  17. and filesize($_FILES['html']['tmp_name']) > $taille_max_html)
  18. {
  19. $erreur = 'Votre fichier doit faire moins de 500 Ko !';
  20. }
  21. }// set html
  22.  
  23. if (isset($_FILES['photo'])){
  24. $extensionsPics = array('jpg', 'gif' );
  25. $taille_max_pics = 600000;
  26.  
  27. if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensionsPics ) )
  28. {
  29. $erreur = 'Selectionner un fichier de type jpeg ou gif !';
  30. }
  31.  
  32. elseif( file_exists($_FILES['photo']['tmp_name'])
  33. and filesize($_FILES['photo']['tmp_name']) > $taille_max_pics)
  34. {
  35. $erreur = 'Votre fichier doit faire moins de 600 ko !';
  36. }
  37.  
  38.  
  39. }
  40.  
  41. // Si il n'ya pas derreur, alors on copie les fichiers
  42. if(!isset($erreur))
  43. {
  44. // envoie html
  45. $dest_fichier = $_FILES['html']['name'];
  46. // copie du fichier html
  47. move_uploaded_file($_FILES['html']['tmp_name'], $dest_dossier . $dest_fichier);
  48.  
  49. // envoie photo
  50. $dest_fichier = $_FILES['photo']['name'];
  51. // copie du fichier photo
  52. move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier . $dest_fichier);
  53.  
  54. // pour tester si il ya des erreurs
  55. print_r ($_FILES['html'])."<p>";
  56. print_r ($_FILES['photo'])."<p>";
  57. }
  58. }
  59. ?>
  60. <html>
  61. <body>
  62. <!-- Erreur ? -->
  63. <?php
  64. if(isset($erreur)){
  65. echo '<p>', $erreur ,'</p>';
  66. }
  67. ?>
  68. <form method="POST" action="upload.php" enctype="multipart/form-data">
  69. <input type="hidden" name="MAX_FILE_SIZE" value="600000" />
  70. Envoi de fichiers
  71. <p><label for="html">html :</label><input type="file" name="html" /></p>
  72. <p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
  73. <p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
  74. </form>
  75. </body>
  76. </html>

Autres pages sur : upload php

Lassé par la pub ? Créez un compte

coca25 a dit :
et c'est quoi qui ne marche pas, y a une erreur? le fichier ne se copie pas??


Salut Coca,

Ben ca marche, mais en partie :pfff: 
Je trouve ça bizzare, mais la gestion d'erreurs ne se fait
pas comme il faut. Il y'a comme un bug quelquepart et je ne sais
pas où exactement.
1) Si je séléctionne un fichier html avec la bonne extension "html", et un fichier Image avec la bonne extension "jpeg ou gif", et que je fait un submit, il n'ya pas d'erreur. "C'est ce que je veux :)  "
2) Si je séléctionne un fichier html avec la mauvaise extension et un fichier Image avec la bonne extension "jpeg ou gif", et que je fait un submit, il ya une erreur. "C'est ce que je veux :)  "
3)Par contre, si je séléctionne un fichier html avec la bonne extension et un fichier Image avec la mauvaise extension et que je fait un submit, des fois ca affiche des erreurs et des fois non . "C'est ce que je ne veux pas et c'est ce que je ne comprens pas :(  ".


Autrement dit, la gestion des fichiers html se fait très bien et
quand il ya des problèmes au niveau de lextension, il y'a des
erreurs qui s'affichent, alors qu'avec les fichiers Jpeg, des fois
les erreurs sont bien gerées, des fois non!!!!
Lassé par la pub ? Créez un compte
Tom's guide dans le monde