Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload zdjęć
Forum PHP.pl > Forum > Przedszkole
devil69pl
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. </head>
  6. <body>
  7. <form action="<?=$_SERVER["PHP_SELF"]?>" method="post" enctype="multipart/form-data">
  8. <br />
  9. Wybierz plik do wgrania:<br />
  10. <input type="file" name="userfile" size="60">
  11. <br />
  12. <input type="submit" name="submit" value="Wyślij">
  13. </form><br />
  14. <?php
  15. $maxsize=3145728;
  16. if (!$_POST['submit']) {
  17. //print_r($_FILES);
  18. $error = " ";
  19. }
  20. if (!is_uploaded_file($_FILES['userfile']['tmp_name']) AND !isset($error)) {
  21. $error = "<b>Plik nie został przesłany! Sprawdź czy plik nie zajmuje więcej niż $maxsize bajtów (3mb).</b><br /><br />";
  22. }
  23. if ($_FILES['userfile']['size'] > $maxsize AND !isset($error)) {
  24. $error = "<b>Błąd! Rozmiar pliku nie może przekroczyć $maxsize bajtów (3mb).</b><br /><br />";
  25. }
  26. if ($_FILES['userfile']['type'] != "image/gif" AND
  27. $_FILES['userfile']['type'] != "image/jpg" AND
  28. $_FILES['userfile']['type'] != "image/jpeg" AND
  29. $_FILES['userfile']['type'] != "image/png" AND
  30. $_FILES['userfile']['type'] != "image/tiff" AND
  31. $_FILES['userfile']['type'] != "image/vnd.microsoft.icon" AND
  32. $_FILES['userfile']['type'] != "image/x-portable-bitmap" AND
  33. $_FILES['userfile']['type'] != "image/svg+xml" AND !isset($error)) {
  34. $error = "<b>Dozwolone typy wgrywanych plików to: .gif, .jpg, .jpeg, .png, .tiff, .tif, .bmp, .svg, .ico,</b><br /><br />";
  35. }
  36. if (!isset($error)) {
  37. copy($_FILES['userfile']['tmp_name'],"upload/".$_FILES['userfile']['name']);
  38. print "Plik został wysłany";
  39. echo "<meta http-equiv='refresh' content='1; url=upload.php'>";
  40. } else {
  41. echo ("$error\n");
  42. }
  43. ?>
  44. <div id="image_view">
  45. <?php
  46. if($dir = opendir("upload")) {
  47. while (($file = readdir($dir)) !== false) {
  48. if ($file == "." || $file == "..") continue;
  49. echo"<img src=\"upload/$file\" width='250' height='200'><a href=\"upload/$file\" target='_blank'>Podgląd </a><a href='upload.php?delfile=$file'>Usuń </a><br />\n";
  50. }
  51. }
  52. if (empty($_GET['delfile'])) {
  53. echo "";
  54. } else {
  55. unlink ('./upload/'.$_GET['delfile']);
  56. echo "<meta http-equiv='refresh' content='1; url=upload.php'>";
  57. }
  58. closedir($dir);
  59. ?>
  60. </div>
  61. </body>
  62. </html>


Mam parę pytań odnośnie mojego skryptu:
-czy dobrze jest on zabezpieczony przed wysyłaniem plików php
-czy nie ma większych błędów składniowych
nospor
włącz sobie wyświetlanie wszystkich błędów a zobaczysz ile ich masz:
  1. ini_set('display_errors','1');
devil69pl
  1. Notice: Undefined index: submit in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 20
  2.  
  3. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 24
  4.  
  5. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 27
  6.  
  7. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 30
  8.  
  9. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 31
  10.  
  11. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 32
  12.  
  13. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 33
  14.  
  15. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 34
  16.  
  17. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 35
  18.  
  19. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 36
  20.  
  21. Notice: Undefined index: userfile in C:\Program Files (x86)\WebServ\httpd-users\portal\upload.php on line 37


Co mogą oznaczać te błędy ?
nospor
oznaczają dokladnie to co tam napisali.
devil69pl
a te błędy mają jakiś większy wpływ na skrypt ?
nospor
na ten być może nie. Na inny być może tak, dlatego należy tak pisać, by nawet te błedy się nie generowały
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.