Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: upload plików
Forum PHP.pl > Forum > PHP
zawodnik
Mam serwer Apache. Problem jest w tym, że nie działa mi upload plików. Wyświetlają mi sie takie błędy:

Warning: move_uploaded_file(/wyslane/substring.txt) [function.move-uploaded-file]: failed to open stream: No such file or directory in...
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php35.tmp' to '/wyslane/substring.txt' in...


Co mam zmienić, żeby upload działał poprawnie?
mortus
Pokaż skrypt, prawdopodobnie niewłaściwe argumenty przekazujesz do funkcji move_uploaded_file().
zawodnik
wątpię, żeby tu był błąd, bo nie ja pisałem skrypt, tylko był skopiowany z książki. Teraz na szybko napisałem swój, nie jest tak zaawansowany:
  1. <?php
  2.  
  3. $tekst = <<<ID1
  4. <form action="" method="post" enctype="multipart/form-data">
  5. <input type="text" name="katalog" /><br />
  6. <input type="file" name="plik" id="plik" /><br />
  7. <input type="submit" value="Wyślij" />
  8. </form>
  9. ID1;
  10.  
  11. if(isSet($_POST['katalog'])){
  12. $katalog = $_POST['katalog'];
  13. if(move_uploaded_file($_FILES['plik']['tmp_name'], $katalog)){
  14.  
  15. echo "Plik został załadowany.".$tekst;
  16. }
  17.  
  18. else{
  19. echo "Plik nie został załadowany.".$tekst;
  20. }
  21. }
  22. else{
  23. echo $tekst;
  24. }
  25. ?>


aha, i jeśli sie doczepisz do $katalog, to się pomylisz, bo w książce było z wykorzystaniem $_FILES['plik']['name'] i też nie działało

i mam jeszcze prośbę: Jeśli ktoś ma linka gdzie mógłbym sprawdzać błędy typu jak wyżej, niech go zapoda a ja mu dam 'pomógł'
Zyx
Przecież komunikat mówi jasno: NO SUCH FILE OR DIRECTORY. Jak pozwalasz użytkownikowi wpisywać nazwę katalogu w formularzu, to się nie dziw, że może on wpisać nazwę nieistniejącego katalogu. Pomijam już "bezpieczeństwo" takiego podejścia.
zawodnik
Ale to ma być formularz dla mnie, ułatwiający wysyłanie plików zaufanej osobie na serwer!
A ja i on chyba znamy nazwy katalogów które sami utworzyliśmy...
mortus
@Zyx: To po pierwsze.
Poza tym miejscem docelowym dla upload-owanego pliku (drugi argument funkcji move_uploaded_file()) nie jest katalog, ale pełna ścieżka zapisu wraz z nazwą pliku.

EDIT
Ot choćby drugi przykład stąd.
zawodnik
wielkie dzięki mortus, sprawdze ten link. A ma ktoś linka żebym mógł sobie sprawdzić co oznaczają te błędy? Bo nie zawsze są dla mnie jasne.
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.