upload fichier. au secours!

upload fichier. au secours! - PHP - Programmation

Marsh Posté le 14-04-2005 à 10:59:31    

Bonjour,
 
Je veux réaliser un transfert de fichiers en php.
 
Voici le code html :

Code :
  1. <html>
  2. <head>
  3. <title>Upload new files</title>
  4. </head>
  5. <body>
  6. <form enctype="multipart/form-data" action="upload.php" method="post">
  7. <div align="center">
  8.   <p><input type="hidden" name="MAX_FILE_SIZE" value="1000000">
  9.   <p>&nbsp;</p>
  10.   <table border=0 cellspacing=0>
  11.   <tr>
  12.   <td bgcolor="#C0C0C0"><b><font color="#FFFFFF">Upload this file : </font></b></td>
  13.   <td bgcolor="#C0C0C0">
  14.   <input name="userfile" type="file"> </p>
  15.   </td>
  16.       </tr>
  17.   </table>
  18.   <p><input name="submit" type="submit" value="Envoyer"></p>
  19. </div>
  20. </form>
  21. </body>
  22. </html>


 
Voici le code php :

Code :
  1. <html>
  2. <head>
  3. <title>Document sans titre</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. </head>
  6. <body>
  7. <?php
  8. //$userfile est l'emplacement où le fichier a été enregistré sur le serveur
  9. $userfile=$HTTP_POST_FILES['userfile']['tmp_name'];
  10. //$userfile_name est le nom du fichier d'origine
  11. $userfile_name=$HTTP_POST_FILES['userfile']['name'];
  12. //$userfile_size est la taille du fichier en octets
  13. $userfile_size=$HTTP_POST_FILES['userfile']['size'];
  14. //$userfile_type est le type
  15. $userfile_type=$HTTP_POST_FILES['userfile']['type'];
  16. //$userfile_error contient les éventuelles erreurs
  17. $userfile_error=$HTTP_POST_FILES['userfile']['error'];
  18. if ($userfile_error > 0)
  19. {
  20. echo 'Problem : ';
  21. switch ($userfile_error)
  22. {
  23.  case 1: echo 'File exceeded upload_max_filesize'; break;
  24.  case 2: echo 'File exceeded max_file_size'; break;
  25.  case 3: echo 'File only partially uploaded'; break;
  26.  case 4: echo 'No file uploaded'; break;
  27. }
  28. exit;
  29. }
  30. //Le fichier a-t-il le bon type
  31. if ($userfile_type != 'text/plain')
  32. {
  33. echo 'Problem : file is not plain text';
  34. exit;
  35. }
  36. //Enregistrement du fichier à l'emplacement qui nous convient
  37. $upfile='upload/'.$userfile_name;
  38. if (is_uploaded_file($userfile))
  39. {
  40. if (!move_uploaded_file($userfile, $upfile))
  41. {
  42.  echo 'Problem : Could not move file to destination directory';
  43.  exit;
  44. }
  45. }
  46. else
  47. {
  48. echo 'Problem : Possible file upload attack. Filename : '.$userfile_name;
  49. exit;
  50. }
  51. echo 'File uploaded successfully'<br /><br />;
  52. //Reformatage du contenu du fichier
  53. $fp = fopen($upfile, 'r');
  54. $contents = fread ($fp, filesize ($upfile));
  55. fclose ($fp);
  56. $contents = strip_tags($contents);
  57. $fp = fopen($upfile, 'w');
  58. fwrite($fp, $contents);
  59. fclose($fp);
  60. //Affichage du contenu du fichier transféré
  61. echo 'Preview of uploaded file contents:<br /><hr />';
  62. echo $contents;
  63. echo '<br /><hr />'
  64. ?>
  65. </body>
  66. </html>


 
Je ne pense pas avoir commis d'erreur.
Or rien ne s'affiche lorsque je clique sur Envoyer!
 
Merci de m'aider car la je trouve que ce problème me bloque depuis trop longtemps...

Reply

Marsh Posté le 14-04-2005 à 10:59:31   

Reply

Marsh Posté le 14-04-2005 à 11:05:22    

Corrige les erreurs html ( les input se ferment, le font est deprecated...)
 
Les erreurs PHP (on recupere les données via $_FILES , $_POST ,...) et dit nous en quoi exactement ca plante :D


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-04-2005 à 11:10:55    

"les input se ferment"
ils sont fermés dans mon code non?
 
"on recupere les donnees via $_FILES"
j'ai deja essayé avec $_FILES et c'est le meme resultat!
 
"en quoi ca plante"
lorsque je clique sur parcourir, j'attache un fichier et lorsque je clique sur envoyer j'obtiens une page blanche!  
le fichier ne se trouve pas dans le dossier demandé donc le transfert ne s'effectue pas et je n'ai aucun message d'erreur!!!...

Reply

Marsh Posté le 14-04-2005 à 11:12:59    

Non, t'as mis <input> au lieu de <input />. Et c'est quoi les paragraphes vides, avec un espace insécable dedans ?

Reply

Marsh Posté le 14-04-2005 à 11:16:59    

Je pense pas que ce la soit vraiment le problème...
 
Pourquoi j'ai une page blanche?
Vous n'auriez pas une idée...

Reply

Marsh Posté le 14-04-2005 à 11:33:25    

Personne ne voit pourquoi?

Reply

Marsh Posté le 14-04-2005 à 11:57:16    

Ou dois-je créer le dossier de destination?

Reply

Marsh Posté le 14-04-2005 à 11:58:01    

C'est marrant comme les gens sont obstinés ... Ils comprennent pas que si on fait les choses bien, en general ca marche mieux, plus longtemps et que si ca marche pas on voit plus vite pourquoi


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 14-04-2005 à 12:08:47    

J'ai corrigé mes petites erreurs et ca fonctionne tjs pas, j'ai toujours une page blanche!
 
De plus, j'ai fait les choses bien! Mon script php est essentiellement composé de controles d'erreur.  
J'ai réduit les risques au minimum pour le transfert de fichiers.

Reply

Marsh Posté le 14-04-2005 à 12:44:29    

Pour voir ou ca plante, met des echo toutes les X lignes


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Sujets relatifs:

Leave a Replay

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