Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload Plików
Forum PHP.pl > Forum > Przedszkole
KrzysiekKCN
Cześć Witam. Na wstępie chciał bym zaznaczyć że przetestowałem już dziesiątki skryptów i żaden nie działa. Przeszukałem całe to forum z tagiem UPLOAD i też nic nie działa. Sprawdziłem php.ini i mam upload na "on".
Testowałem na XAMPPIE i serwerach OVH, też nic.

Pierwszy raz robię upload plików i chodzi mi oto żeby można było wgrać zdjęcie na serwer oraz dodać pełną ścieżkę do bazy danych, chodzi mi mianowicie o np. http://example.com/images/uploads/get1/3.jpg

Podam może przykład z manuala bo wyświetla mi ten sam błąd co każdy inny skrypt. [ moze to nie błąd ale w każdym bądź razie nic nie wgrywa \.
  1. <form method="POST" enctype="multipart/form-data" action="?body=upload_sc">
  2. <!-- MAX_FILE_SIZE must precede the file input field -->
  3. <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
  4. <!-- Name of input element determines name in $_FILES array -->
  5. Send this file: <input name="userfile" type="file" />
  6. <input type="submit" value="Send File" />
  7. </form>


  1.  
  2.  
  3. <?php
  4. if(!isset($_SESSION['prawid_uzyt']))
  5. {
  6. }
  7. error_reporting( E_ALL );
  8. ini_set('display_errors', 1);
  9. //łącze z bazą
  10. $mysql = mysqli_connect($serwer,$datauser,$datapass);
  11. //wybieram tabele
  12. $db = mysqli_select_db($mysql, $dtb);
  13. $uploaddir = '/var/www/uploads/';
  14. $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
  15.  
  16. echo '<pre>';
  17. if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
  18. echo "File is valid, and was successfully uploaded.\n";
  19. } else {
  20. echo "Possible file upload attack!\n";
  21. }
  22.  
  23. echo 'Here is some more debugging info:';
  24. print_r($_FILES);
  25.  
  26. print "</pre>";
  27.  
  28. ?>


Wynik:
  1. Possible file upload attack!
  2. Here is some more debugging info:Array
  3. (
  4. [userfile] => Array
  5. (
  6. [name] => Jellyfish.jpg
  7. [type] =>
  8. [tmp_name] =>
  9. [error] => 2
  10. [size] => 0
  11. )
  12.  
  13. )


Ok, a teraz moja "radosna" twórczość ostatniego dnia, tutaj mam już 1/45646354634 sukcesu ponieważ dodaje plik na serwer. Tylko niszczy pliki ^^ No dobra. TXT przeżył. a tak to pdf jpegi dOC XLSY ITP wszystko zostało zniszczone[niemożna otworzyć].

  1. <?php
  2.  
  3. if(!isset($_SESSION['prawid_uzyt']))
  4. {
  5. }
  6. error_reporting( E_ALL );
  7. ini_set('display_errors', 1);
  8.  
  9. if ($_FILES['plikuzytkownika']['error'] > 0)
  10. {
  11. echo 'Problem: ';
  12. switch ($_FILES['plikuzytkownika']['error'])
  13. {
  14. case 1: echo 'Rozmiar pliku przekroczył wartość upload_max_filesize'; break;
  15. case 2: echo 'Rozmiar pliku przekroczył wartość max_file_size'; break;
  16. case 3: echo 'Plik wysłany tylko częściowo'; break;
  17. case 4: echo 'Nie wysłano żadnego pliku'; break;
  18. case 6: echo 'Nie można wysłać pliku: Nie wskazano katalogu tymczasowego.'; break;
  19. case 7: echo 'Wysłane pliku nie powiodło się: Nie zapisano pliku na dysku.'; break;
  20. }
  21. }
  22. $lokalizacja = './wyslane/'.$_FILES['plikuzytkownika']['name'];
  23. if (is_uploaded_file($_FILES['plikuzytkownika']['tmp_name']))
  24. {
  25. if (!move_uploaded_file($_FILES['plikuzytkownika']['tmp_name'], $lokalizacja))
  26. {
  27. echo 'Problem: Plik nie może być skopiowany do katalogu';
  28. }
  29. }
  30. else
  31. {
  32. echo 'Problem: możliwy atak podczas wysyłania pliku. Nazwa pliku: ';
  33. echo $_FILES['plikuzytkownika']['name'];
  34. }
  35. echo 'Plik wysłany<br><br>';
  36. $wp = fopen($lokalizacja, 'r');
  37. $zawartosc = fread ($wp, filesize ($lokalizacja));
  38. fclose ($wp);
  39. $zawartosc = strip_tags($zawartosc);
  40. $wp = fopen($lokalizacja, 'w');
  41. fwrite($wp, $zawartosc);
  42. fclose($wp);
  43. echo 'Podgląd zawartości wysłanego pliku:<br><hr>';
  44. echo $zawartosc;
  45. echo '<br><hr>';
  46. ?>

  1. <form enctype="multipart/form-data" action="wyslij.php" method="post" />
  2. <div>
  3. <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
  4. <label for="plikuzytkownika">Załaduj ten plik:</label>
  5. <input name="plikuzytkownika" type="file" id="plikuzytkownika" />
  6. <input type="submit" value="Wyślij" />
  7. </div>
  8. </form>


Proszę o pomoc i z góry dzięki.
zordon
całości nie przeglądałem, ale przecież dostajesz kod błędu o wartości 2. Przecież sam dodałeś funkcję, która na podstawie kodu wyświetla komunikat, w tym wypadku: "Rozmiar pliku przekroczył wartość max_file_size"
Przesyłasz za duży plik i tyle. Zwiększ wartość MAX_FILE_SIZE w formularzu, prześlij mniejszy plik i jak dalej nie działa to pisz jakie błędy wyleciały...
KrzysiekKCN
OMFG..

Chyba byłem zmęczony ^^ myślałem o wszystkim ale nie o pojemności pliku.

A wiesz może jak pobrać cały adres do tego pliku?
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.