Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> ftp_get: No such file or directory
q3trm
post 26.02.2013, 19:00:17
Post #1





Grupa: Zarejestrowani
Postów: 83
Pomógł: 1
Dołączył: 26.02.2013

Ostrzeżenie: (0%)
-----


Cześć.


Zacząłem się bawić z uploadowanie plików serwera, za pomocą funkcji oferowanych przez PHP. I mam problem z pierwszą próbą uploadu pliku zdalnego.

Dodam, że skrypt uploaduje pliki z tego samego serwera, tylko z innego katalogu. Wiem, że do takich operacji istnieją inne funkcje, natomiast ja to robię w celach naukowych :-o .

  1. $localfile ='/home/a2485165/public_html/lala.txt';
  2. $remotefile ='/home/a2485165/temp/t.txt';



Tak wyglądają plik lokalny(localfile) i zdalny(remotefile).

  1.     
  2. $fo = fopen ($localfile, 'w');
  3. $suces = ftp_fget($connect, $fo, $remotefile, FTP_ASCII);


I w tym momencie dostaję: Warning: ftp_fget() [function.ftp-fget]: Can't open /home/a2485165/temp/t.txt: No such file or directory
Katalog z plikiem istnieje , sprawdzałem za pomocą funkcji file_exists, chmod dałem 777 zapis + odczyt. Pomóżcie mnie naprowadzić na rozwiązanie problemu.


ftp_connect() zwraca zasób(strumien ftp), ftp_login() true

Ten post edytował q3trm 26.02.2013, 21:39:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Konochamaru
post 26.02.2013, 20:38:40
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 26.02.2013

Ostrzeżenie: (0%)
-----


z jakiego poziomu katalogu to robisz ? Być moze plik instnieje tak jak mówisz tylko jest zła ścieżka
Go to the top of the page
+Quote Post
q3trm
post 26.02.2013, 21:35:54
Post #3





Grupa: Zarejestrowani
Postów: 83
Pomógł: 1
Dołączył: 26.02.2013

Ostrzeżenie: (0%)
-----


Z public_html.

To ciekawe, file_exists($remotefile), sprawdza czy plik istnieję w odrębnym katalogu i zwraca TRUE. Funkcja file_exists nie zależnie od katalogu w jakim zostaję wywołana, potrafi sprawdzić istnienie każdego pliku na serwerze?


W ramach testu, zainicjowałem funkcję touch() z ścieżką ze zmiennej $remotefile(dodając nazwę nieistniejącego pliku), rezultat był taki, że nic się nie stało, ani błędu, ani akcji. Kolejnym krokiem było sprwdzenie czy ścieżka jest poprawna, więc specialnie podmieniłem ścieżkę w funkcji touch() na nieprawidłową, wydrukowało błąd, czyli ścieżki są dobre smile.gif. Dodam, że korzystam z usług hostingowych 000webhost.

Ten post edytował q3trm 26.02.2013, 23:15:32
Go to the top of the page
+Quote Post
dzastin
post 27.02.2013, 17:59:52
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 2
Dołączył: 27.02.2013

Ostrzeżenie: (0%)
-----


file_exist sprawdza czy plik istnieje na dysku na serwerze na którym wywoływany jest php, ftp_get obsługuje zdalny katalog z obcego serwera i korzeń systemu plików jest ustalany przez demona ftp. Ponieważ w Twoim przypadku jest to ten sam serwer, to wydaje Ci się, że ścieżka dla ftp_get jest poprawna, a w rzeczywistości nie jest. Głównym katalogiem dla Twojego ftp jest prawdopodobnie /home/a2485165/, więc jako ścieżkę podałbym /temp/t.txt
Go to the top of the page
+Quote Post
q3trm
post 28.02.2013, 20:23:47
Post #5





Grupa: Zarejestrowani
Postów: 83
Pomógł: 1
Dołączył: 26.02.2013

Ostrzeżenie: (0%)
-----


Cytat(dzastin @ 27.02.2013, 17:59:52 ) *
file_exist sprawdza czy plik istnieje na dysku na serwerze na którym wywoływany jest php, ftp_get obsługuje zdalny katalog z obcego serwera i korzeń systemu plików jest ustalany przez demona ftp. Ponieważ w Twoim przypadku jest to ten sam serwer, to wydaje Ci się, że ścieżka dla ftp_get jest poprawna, a w rzeczywistości nie jest. Głównym katalogiem dla Twojego ftp jest prawdopodobnie /home/a2485165/, więc jako ścieżkę podałbym /temp/t.txt



I tak jest jak mówisz oneeyedsmiley02.png , dzięki.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:46