Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: move_uploaded_file
Forum PHP.pl > Forum > PHP
Shaezar
Na localu nie miałem problemu z dobraniem odpowiedniej ścieżki uploadu plików, jednak po wrzuceniu na normalny serwer ten problem sie pojawia. Wpisuje różne ścieżki, jednak wtedy zwraca mi błędy.
Gdy wpisuje w ścieżkę ./download/ to o dziwo błędu nie ma i funkcja zwraca true snitch.gif Troche mnie to dziwi bo po uploadzie pliku na serwerze znaleźć nie umiem. Gdzie mam szukac? Dodam, że mam standardowy serwer z public_html etc.
mike
Nie wiesz gdzie sa pliki przesłane przez formularz? czy nie wiesz gdzie przesunąłeś plik?
Napisz dokładniej.

A wcześniej poczytaj manuala: Handling file uploads
Shaezar
przecież czytałem manual ..
daje tej funkcji argument w postaci ./download/ i zwraca ona true, wiec pl;ik powinien juz byc na serwerze, jednak nigdzie go znaleźć nie moge ..
piczu
sprawdz poprawnosc sciezki i prawa dostepu do katalogu
mike
Cytat(Shaezar @ 7.06.2006, 16:59 ) *
przecież czytałem manual ..
daje tej funkcji argument w postaci ./download/ i zwraca ona true, wiec pl;ik powinien juz byc na serwerze, jednak nigdzie go znaleźć nie moge ..

To przeczytaj raz jeszcze tongue.gif
Czy ./download/ to wg. Ciebie nazwa pliku wraz z całą ścieżką?
Jako drugi parametr masz przekazać nazwę docelową! Na przykład: ./download/nie_czytałem_dokładnie_przykładów_w_manualu.jpg
Shaezar
grrr nic tylko zjechać człowieka! Nie jestem idiotą i definicje funkcji czytać umiem.
$uploaddir = './download/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

i wywołanie:

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)

hę?
mike
Cytat(Shaezar @ 7.06.2006, 17:31 ) *
grrr nic tylko zjechać człowieka! Nie jestem idiotą i definicje funkcji czytać umiem.
$uploaddir = './download/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

i wywołanie:

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)

hę?

No fajnie. Ustaliliśmy że cztać umiesz, to teraz popracuj nad wyslawianiem się i kontorą emocji.
Pokaż mi palcem (tylko nie macaj po monitorze) gdzie wcześniej napisałeś to co teraz to zwrócę Ci honor.
Napisałeś tylko o ./download/ więc założyłem, że to całość, bo niby na jakiej podstawie miałem założyć inaczej.
Na tym forum nie ma wróżbitów i jasnowidzów, jak nie napiszesz o co chodzi i co masz w kodzie to nikt się tego nie domyśli, zapamiętaj sobie to bo możesz mieć zawsze takie przeprawy.

A wracając:
1. Czy folder ./download/ istnieje?
2. Czy ma odpowiednie prawa do zapisu?
Shaezar
napisałem, że funkcja zwraca true, więc logiczne, że argument ma podany dobrze.
Folder download istnieje, ale nie wiem w którym miejscu na serwerze ma on dokładnie być.
Jeden download jest w public_html a drugi w public_html/strona
Jednak do żadnego z nich nie przenosi sie uploadowany plik.
Dziwne, bo skoro funkcja działa bez zarzutów, nie zwracva błędu, to zadanie powinno się udac.

Zadam moze inaczej pytanie - gdybym jakoś ścieżke nie podał ./download/ tylko samo ./ , to gdzie zapisałoby mi plik? Bo teraz gdy tak daje, to pluje sie o chmody zapewne i nie moze zapisac, tylko ja nie wiem na jaki katalog ten chmod teraz nadac. Pozdro i bez nerwów smile.gif No i zakładaj częściej z góry, że zwykły user czytac umie i nie jest potencajalnym dzieciem neostrady.
mike
Cytat(Shaezar @ 7.06.2006, 17:50 ) *
No i zakładaj częściej z góry, że zwykły user czytac umie i nie jest potencajalnym dzieciem neostrady.

Pobędziesz troche na forum, to zmienisz zdanie.
To że czytałes manuala to już jest super, ale tak jak mówię: Pobędziesz troche na forum, to zmienisz zdanie. biggrin.gif

Folder download powiniene być wzglądem pliku obslugującego upload.

Jeśli plik upload.php jest w public_html to folder (przy ścieżce ./download/ ) jest tu public_html/download/

A jak z prawami do zapisu w tym folderze?
Skrypt musi mieć na to prawa, zeby tam cokolwiek zapisać.

A może jakieś błędy sa, tylko ich nie widać.

Daj na początku skryptu:
  1. <?php
  2.  
  3. error_reporting( E_ALL );
  4. ini_set( 'displa_errors', 1 );
  5.  
  6. ?>
może nam to cos pomoże.
Shaezar
mam juz włączone pokazywanie wszystkich błędów.
Piszę strone domową z zarządzaniem treścia, więc to był pierwszy zabieg, by w ogóle unikąć jakichkolwiek błędów. winksmiley.jpg

plik add_file.php znajduje się w katalogu strona winksmiley.jpg a w katalogu strona jest jeszcze jeden katalog o nazwie download z chmodem 777 winksmiley.jpg Koncza mi sie powoli pomysł.

edit: co do tego katalogu, do którego przenosi plik to nie byłbym taki pewny. Na localu miałem taki sam układ katalogów, a w ścieżce do zapisu musiałem wpisac ./httpd/strona/download/ gdzie httpd to katalog, do którego mam wrzucać pliki.
piczu
jezeli katalog do ktorego zarzucasz plik jest "podrzedny" to
  1. <? $uploaddir = dirname(__FILE__).'/download/'; ?>
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.