Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] wysylanie pliku
Forum PHP.pl > Forum > Przedszkole
falfin
Witam. Podczas próby wysyłania pliku wyskakują mi takie błędy:
  1. <?php
  2. Warning: move_uploaded_file(/wyslane/Nowy Dokument tekstowy.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:WebServhttpdNowy folderplikidodaj_txt.php on line 29
  3.  
  4. Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:/WebServ/temp/file-uploadsphp734.tmp' to '/wyslane/Nowy Dokument tekstowy.txt' in C:WebServhttpdNowy folderplikidodaj_txt.php on line 29
  5. Plik nie moze byc skopiowany do katalogu
  6. ?>


Co robie źle?
Oto plik dodaj_txt.php (jest to na razie plik próbny)

  1. <?php
  2. if ($_FILES['obrazek']['error']>0)
  3. {
  4. echo 'Problem';
  5. switch ($_FILES['obrazek']['error'])
  6. {
  7. case 1: echo '1'; break;
  8. case 2: echo '2'; break;
  9. case 3: echo '3'; break;
  10. case 4: echo '4'; break;
  11. }
  12. }
  13.  
  14. if ( $_FILES['obrazek']['type'] != 'text/plain')
  15. {
  16. echo 'Plik nie zawiera zwykłego tekstu';
  17. }
  18.  
  19. $lokalizacja = '/wyslane/'.$_FILES['obrazek']['name'];
  20.  
  21. if (is_uploaded_file($_FILES['obrazek']['tmp_name']))
  22. {
  23. if (! move_uploaded_file($_FILES['obrazek']['tmp_name'], $lokalizacja))
  24. {
  25. echo 'Plik nie moze byc skopiowany do katalogu';
  26. }
  27. }
  28. else
  29. {
  30. echo 'Problem mozliwy atak....';
  31. }
  32.  
  33. echo 'plik wyslany <br /> <br />';
  34.  
  35. ?>
kossa
Brak praw zpisu (777) do katalogów do których kopiujesz pliki (np. katalog tmp i katalog docelowy).

Łukasz
reversend
Witam wszystkich!

Widzę, że skrypt niemalże skopiowany z Vademecum Profesjonalisty snitch.gif W każdym razie bardzo podobny
Miałem podobny problem, a dokładniej coś takiego:

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to access /wyslane/plik.txt in /home/a/l/p/moja_domena/www/x/test.php on line 4

Dodam, że katalog 'x' oraz 'x/wyslane' miały pełne prawa dostępu
Wszystko działało dobrze na moim kompie, ale na serwerze już nie. Jednak po skasowaniu ukośnika było ok:

  1. <?php
  2. $lokalizacja = 'wyslane/'.$_FILES['plik']['name'];
  3. ?>

zamiast:
  1. <?php
  2. $lokalizacja = '/wyslane/'.$_FILES['plik']['name'];
  3. ?>

Pisze na wszelki wypadek jak by ktoś też miał ten problem, ale czy może mi ktoś to wytłumaczyć? z góry dzięki
ps. Oczywiście w książce było ze slashem, bo inaczej nie byłoby problemu
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.