login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Uploading file ?

Offline Button - 31/07/2005 18:36
Avatar van ButtonPHP ver gevorderde hallo iedereen,

ben terug begonne met scripten en heb al direct een vraagje.
ik ben namelijk begonnen met files uploaden.
hier zijn alvast the scripts:

het formulier:
  1. <html>
  2. <head>
  3. <title>Administration- upload new files</title>
  4. </head>
  5. <body>
  6. <h1>Upload new new files</h1>
  7. <form enctype="multipart/form-data" action="upload.php" method="post">
  8. <input type="hidden" name="MAX_FILE_SIZE" value="1000">
  9. Upload this file: <input name="userfile" type="file">
  10. <input type="submit" value=" Verzenden ">
  11. </form>
  12. </body>
  13. </html>


de verwerkingspagina met het tonen van een preview van de pagina:
  1. <html>
  2. <head>
  3. <title>Uploading</title>
  4. </head>
  5. <body>
  6. <h1>Uploading file</h1>
  7. <?
  8.  
  9. if ($userfile=="none")
  10. {
  11. echo "Problem: no file uploaded";
  12. }
  13.  
  14. if($userfile_size==0)
  15. {
  16. echo "Problem: uploaded file is zero length";
  17. }
  18.  
  19. if ($userfile_type != "text/plain")
  20. {
  21. echo "Problem: file is not plain text";
  22. }
  23.  
  24. if (!is_uploaded_file($userfile))
  25. {
  26. echo "Problem: possible file upload attack";
  27. }
  28.  
  29. $upfile = "C:\web\Chmod".$userfile_name;
  30.  
  31. if (!copy($userfile,$upfile)){
  32. echo "Problem: Could not move file into directory";
  33. }
  34.  
  35. echo "File uploaded succesfully<br><br>";
  36. $fp = fopen($upfile, 'r');
  37. $contents = fread ($fp, filesize ($upfile));
  38. fclose ($fp);
  39.  
  40. $contents = strip_tags($contents);
  41. $fp = fopen($upfile, "w");
  42. fwrite($fp, $contents);
  43.  
  44. echo "Preview of uploaded file contents:<br><hr>";
  45. echo $contents;
  46. echo "<br><hr>";
  47.  
  48.  
  49.  
  50. ?>
  51. </body>
  52. </html>


nu ik heb deze scripts van het boek: Sam PHP and MySQL Web Development.
maar als ik een bestand upload (.doc,.html,.php,...)
dan geeft hij: Problem: uploaded file is zero length
(zie script he, het is een zelfgebouwde foutmelding dus )
maar ik weet niet hoe dat komt! Jullie?
ik probeer een bestand naar mijn eigen webserver te uploaden

ps: het kan zijn dat het een stomme fout is want ik ben nogal 'noobie' op dit gebied (chmod, niet?)

op voorhand bedankt 

en proficiat met de clickx number 2 !

9 antwoorden

Gesponsorde links
Offline Thomas - 31/07/2005 18:45
Avatar van Thomas Moderator Zie dit topic en (in mijn reactie) de link naar PHP.net.

Je dient superglobals ($_POST, $_FILES etc.) te gebruiken.
Offline Button - 31/07/2005 22:06 (laatste wijziging 31/07/2005 22:06)
Avatar van Button PHP ver gevorderde Zou jij of iemand anders dat dan aub willen aanpassen want ik heb verschillende dingen geprobeerd maar lukt niet...
Offline rutgerp - 01/08/2005 09:25 (laatste wijziging 01/08/2005 09:26)
Avatar van rutgerp HTML interesse Het zou zoiets moeten zijn (ik ben noob):

  1. <html>
  2. <head>
  3. <title>Uploading</title>
  4. </head>
  5. <body>
  6. <h1>Uploading file</h1>
  7. <?
  8.  
  9.  
  10.  
  11. if (empty($_FILES['userfile']['name']))
  12. {
  13. echo "Problem: no file uploaded";
  14. }
  15.  
  16. if($_FILES['userfile']['size']==0)
  17. {
  18. echo "Problem: uploaded file is zero length";
  19. }
  20.  
  21. if ($FILES['userfile']['type'] != "text/plain")
  22. {
  23. echo "Problem: file is not plain text";
  24. }
  25.  
  26. if (!is_uploaded_file($FILES['userfile']))
  27. {
  28. echo "Problem: possible file upload attack";
  29. }
  30.  
  31. $upfile = "C:\web\Chmod".$_FILES['userfile']['name'];
  32.  
  33. if (!copy($_FILES['userfile'],$upfile)){
  34. echo "Problem: Could not move file into directory";
  35. }
  36.  
  37. echo "File uploaded succesfully<br><br>";
  38. $fp = fopen($upfile.'/'.$_FILES['userfile'], 'r');
  39. $contents = fread ($fp, filesize ($upfile.'/'.$_FILES['userfile']));
  40. fclose ($fp);
  41.  
  42. $contents = strip_tags($contents);
  43. $fp = fopen($upfile, "w");
  44. fwrite($fp, $contents);
  45.  
  46. echo "Preview of uploaded file contents:<br><hr>";
  47. echo $contents;
  48. echo "<br><hr>";
  49.  
  50.  
  51.  
  52. ?>
  53. </body>
  54. </html>

En ik weet niet precies heo het laatste stuk gaat, maar dit ehlpt je een eindjuh op weg.
Offline Button - 01/08/2005 10:21
Avatar van Button PHP ver gevorderde die $_FILES['userfile']['name'] moet $_FILES['userfile']['tmp_name'] zijn niet?
toch al bedankt ik zal het is proberen
Offline Button - 01/08/2005 12:58 (laatste wijziging 02/08/2005 09:47)
Avatar van Button PHP ver gevorderde @rutgerp: die van jou lukt niet, toch bedankt 
daarom heb ik deze is geprobeerd:rechts: :
  1. <html>
  2. <head>
  3. <title>Uploading</title>
  4. </head>
  5. <body>
  6. <h1>Uploading file</h1>
  7. <?
  8.  
  9.  
  10.  
  11. if (empty($_POST['userfile']['tmp_name']))
  12. {
  13. echo "Problem: no file uploaded";
  14. }
  15.  
  16. if($_POST['userfile']['size']==0)
  17. {
  18. echo "Problem: uploaded file is zero length";
  19. }
  20.  
  21. if ($_POST['userfile']['type'] != "text/plain")
  22. {
  23. echo "Problem: file is not plain text";
  24. }
  25.  
  26. if (!is_uploaded_file($_POST['userfile']))
  27. {
  28. echo "Problem: possible file upload attack";
  29. }
  30.  
  31. $upfile = "C:\web\Chmod".$_POST['userfile']['tmp_name'];
  32.  
  33. if (!copy($_POST['userfile'],$upfile)){
  34. echo "Problem: Could not move file into directory";
  35. }
  36.  
  37. echo "File uploaded succesfully<br><br>";
  38. $fp = fopen($upfile.'/'.$_POST['userfile'], 'r');
  39. $contents = fread ($fp, filesize ($upfile.'/'.$_POST['userfile']));
  40. fclose ($fp);
  41.  
  42. $contents = strip_tags($contents);
  43. $fp = fopen($upfile, "w");
  44. fwrite($fp, $contents);
  45.  
  46. echo "Preview of uploaded file contents:<br><hr>";
  47. echo $contents;
  48. echo "<br><hr>";
  49.  
  50.  
  51.  
  52. ?>
  53. </body>
  54. </html>

maar die werkt ook niet... 
kan miss iemand de code is bij zichzelf ook proberen dat het miss aan mijn server liegt ofzo?
of kan je niet uploaden naar je eigen server?:!:
Offline Thomas - 02/08/2005 11:26
Avatar van Thomas Moderator Als je PHP.net had gelezen had je kunnen weten dat je move_uploaded_file() dient te gebruiken, niet copy()...
Offline Button - 02/08/2005 14:13 (laatste wijziging 02/08/2005 14:14)
Avatar van Button PHP ver gevorderde ik heb nu deze code
  1. <?
  2. ?>
  3. <html>
  4. <head>
  5. <title>Uploading</title>
  6. </head>
  7. <body>
  8. <h1>Uploading file</h1>
  9. <?
  10.  
  11. if ($_FILES['userfile']['tmp_name']=="none")
  12. {
  13. echo "Problem: no file uploaded";
  14. }
  15.  
  16. if($_FILES['userfile']['size']==0)
  17. {
  18. echo "Problem: uploaded file is zero length";
  19. }
  20.  
  21. if ($_FILES['userfile']['type'] != "text/plain")
  22. {
  23. echo "Problem: file is not plain text";
  24. }
  25.  
  26. if (!is_uploaded_file($_FILES['userfile']['tmp_name']))
  27. {
  28. echo "Problem: possible file upload attack";
  29. }
  30.  
  31. $upfile = "C:\web\Chmod".$_FILES['userfile']['tmp_name'];
  32.  
  33. if (!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile)){
  34. echo "Problem: Could not move file into directory";
  35. }
  36.  
  37. echo "File uploaded succesfully<br><br>";
  38. $fp = fopen($upfile, 'r');
  39. $contents = fread ($fp, filesize ($upfile));
  40. fclose ($fp);
  41.  
  42. $contents = strip_tags($contents);
  43. $fp = fopen($upfile, "w");
  44. fwrite($fp, $contents);
  45.  
  46. echo "Preview of uploaded file contents:<br><hr>";
  47. echo $contents;
  48. echo "<br><hr>";
  49.  
  50.  
  51.  
  52. ?>
  53. </body>
  54. </html>


maar krijg deze fouten:

Warning: move_uploaded_file(C:\web\ChmodC:\WINDOWS\TEMP\php3.tmp): failed to open stream: Invalid argument in c:\web\chmod\upload.php on line 38

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php3.tmp' to 'C:\web\ChmodC:\WINDOWS\TEMP\php3.tmp' in c:\web\chmod\upload.php on line 38
Problem: Could not move file into directory

-> die dingen die in het vet staan zijn volgens mij dus te veel aan... maar hoe krijg ik die uit die variable?

edit: miss kunnen jullie iets doen aan de code van dat  ventje...
Offline gamesty - 02/08/2005 14:28
Avatar van gamesty Onbekend Zet het in quote of in code.Dan heb je dat niet.
Offline Button - 02/08/2005 16:44 (laatste wijziging 02/08/2005 17:04)
Avatar van Button PHP ver gevorderde over wat heb je het nou:
:\ ventje of het script 

edit:
  1. <?
  2. ?>
  3. <html>
  4. <head>
  5. <title>Uploading</title>
  6. </head>
  7. <body>
  8. <h1>Uploading file</h1>
  9. <?
  10.  
  11. if ($_FILES['userfile']['tmp_name']=="none")
  12. {
  13. echo "Problem: no file uploaded";
  14. }
  15.  
  16. if($_FILES['userfile']['size']==0)
  17. {
  18. echo "Problem: uploaded file is zero length";
  19. }
  20.  
  21. if ($_FILES['userfile']['type'] != "text/plain")
  22. {
  23. echo "Problem: file is not plain text";
  24. }
  25.  
  26. if (!is_uploaded_file($_FILES['userfile']['tmp_name']))
  27. {
  28. echo "Problem: possible file upload attack";
  29. }
  30.  
  31. $upfile = "C:\web\Chmod";
  32.  
  33. if (!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile)){
  34. echo "Problem: Could not move file into directory";
  35. }
  36.  
  37. echo "File uploaded succesfully<br><br>";
  38. $fp = fopen($upfile, 'r');
  39. $contents = fread ($fp, filesize ($upfile));
  40. fclose ($fp);
  41.  
  42. $contents = strip_tags($contents);
  43. $fp = fopen($upfile, "w");
  44. fwrite($fp, $contents);
  45.  
  46. echo "Preview of uploaded file contents:<br><hr>";
  47. echo $contents;
  48. echo "<br><hr>";
  49.  
  50.  
  51.  
  52. ?>
  53. </body>
  54. </html>


nu ik heb de oplossing voor de vorige fout maar nu krijg ik weer deze fout: Warning: move_uploaded_file(C:\web\Chmod\): failed to open stream: Permission denied in c:\web\chmod\upload.php on line 38

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php16.tmp' to 'C:\web\Chmod\' in c:\web\chmod\upload.php on line 38
Problem: Could not move file into directory

volgens mij moet ik de map rechten geven ofzo, niet? indien ja, hoe? indien nee, wat is dan het probleem...?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.228s