![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
czy ktos uzywal funkcji php obslugujacych
protokol ftp ![]() nie moge pobrac pliku z servera na dysk lokalny, mimo ze robie wedlug opisu funckji w manualu... jak ktos wie jak to zrobic to prosze o pomoc. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat czy ktos uzywal funkcji php obslugujacych
protokol ftp ![]() nie moge pobrac pliku z servera na dysk lokalny, mimo ze robie wedlug opisu funckji w manualu... jak ktos wie jak to zrobic to prosze o pomoc. Pokaż kawałek kodu, bo tak to trzebaby być wróżką żeby odgadnąć. ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
napisalem taki skrypt.
na serwerze lokalnym jako/tako dziala,ale w necie sa bledy i nie mozna sciagnac pliku z serwera ftp [php:1:f3920313a2]<?php $ftp_server="adres_servera"; $ftp_user="uzytkownik"; $ftp_pass="haslo"; $remote_file="/home/szparag/netware.zip"; $file_local_name=basename($remote_file); $temp="temp/temp"; $conn_id = ftp_connect($ftp_server); $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass); $ret = ftp_nb_get($conn_id,$temp,$remote_file, FTP_BINARY); while ($ret == FTP_MOREDATA) { $ret = ftp_nb_continue ($conn_id); } if ($ret != FTP_FINISHED) { echo "There was an error downloading the file..."; exit(1); } else { header("Content-disposition: attachment; filename=$file_local_name"); if (file_exists($temp)) unlink($temp); $fp=fopen($temp,"r"); $contents=fread($fp,filesize($temp)); echo "$contents"; unlink($temp); } ?>[/php:1:f3920313a2] moze jest latwiejszy sposob ,jesli tak to prosze o pomoc. =============== na przyszłość proponuje używać bbcode DeyV |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat napisalem taki skrypt.
na serwerze lokalnym jako/tako dziala,ale w necie sa bledy i nie mozna sciagnac pliku z serwera ftp Po zalogowaniu się przez ftp_login dołóż na wszelki wypadek (gdybyś miał jakieś firewalle albo był za maskaradą) linijkę: [php:1:2fbe36e896]<?php ftp_pasv($conn_id, TRUE); ?>[/php:1:2fbe36e896] Poza tym nie rozumiem tego fragmentu Twojego skryptu: Cytat [php:1:2fbe36e896]<?php
if (file_exists($temp)) unlink($temp); ?>[/php:1:2fbe36e896] Jak Ci się uda ściagnąć plik to go usuwasz po czym próbujesz otworzyć i zwrócić do klienta. Chyba nie o to chodziło? Brakuje operatora ! przed file_exists() (chociaż wtedy i tak chyba jest to zbędne)? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
funckja ftp_nb_get() zapisuje zawartosc pliku do lokalnego pliku,a pozniej dopiero moge przeslac go jako zalacznik przez naglowek strony.
i wlasnie nie wiem czy to sie da zrobic prosciej. ale ta metoda jest zla bo nie dziala w internecie na zdalnych serwerach ftp. dziala tylko na lokalnym serwerze... |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat funckja ftp_nb_get() zapisuje zawartosc pliku do lokalnego pliku,a pozniej dopiero moge przeslac go jako zalacznik przez naglowek strony.
i wlasnie nie wiem czy to sie da zrobic prosciej. Można od razu wysyłać do klienta. [php:1:bf3bae11ff]<?php $fd = fopen('php://stdout', 'w'); $ret = ftp_nb_fget($conn_id, $fd, $remote_file, FTP_BINARY); ?>[/php:1:bf3bae11ff] Cytat ale ta metoda jest zla bo nie dziala w internecie na zdalnych serwerach ftp.
dziala tylko na lokalnym serwerze... A sprawdziłeś to co Ci napisałem? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
ten sposob dziala,
<?php $fd = fopen('php://stdout', 'w'); $ret = ftp_nb_fget($conn_id, $fd, $remote_file, FTP_BINARY); ?> ale jak wyciagnac zawartosc tego pliku z stdout ![]() nigdy sie z takim czyms nie spotkalem... jak to napisac zeby ten plik mozna bylo pobrac z przegladarki ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 691 Pomógł: 0 Dołączył: 6.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat ale jak wyciagnac zawartosc tego pliku z stdout
![]() nigdy sie z takim czyms nie spotkalem... A po co to wyciągać? Chciałeś przecież posłać go do klienta. Cytat jak to napisac zeby ten plik mozna bylo pobrac z przegladarki
![]() No właśnie tak. ![]() Chyba nie do końca rozumiem co chcesz uzyskać. Wydawało mi się, że chcesz sciągnąć plik z serwera ftp i posłać go od razu do przeglądarki. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 0 Dołączył: 29.07.2003 Skąd: skąd-inąd. Ostrzeżenie: (0%) ![]() ![]() |
chce zeby to wygladalo jak sciaganie pliku w ponizszym przykladzie:
<a href="nazwa_pliku.exe">nazwa pliku</a> i po kliknieciu wyskakuje okienko dialogowe przegladarki i jest do wyboru : zapisz,otworz,anuluj... chce zeby ten plik na zdalnym serwerze mozna bylo w ten sposob zapisac na lokalny dysk. w skrocie: -skrypt laczy sie ze zdalnym serwerem, -jest pobierana lista plikow i do kazdego jest link przez ktory mozna go sciagnac. klikasz na link i plik z ftp'a jest zapisywany na twoj dysk. tak to ma wygladac i do tego caly czas daze. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 2 Dołączył: 25.08.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
skorzystaj z Client URL!
dobra rzecz.. i przydatna... do takich experymentow! ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 16:15 |