Autor | Zpráva | ||
---|---|---|---|
ONdra28 Profil * |
#1 · Zasláno: 17. 10. 2009, 17:59:30
Ahoj, zkouším přes fci ftp_get() dostat soubor z FTP.. a problém je asi ten, že moc dobře nechápu co zadat co 2. argumentu...tedy $local_file. Cestu v PC např. C:\... nebo něco jiného ?
Poraďte prosím. <?php $local_file = 'D:\moje galerka\close.gif'; $server_file = 'testik.jpg'; // set up basic connection $ftp["username"] = "nejaky udaj"; $ftp["pass"] = "nejaky udaj"; $ftp["server"] = "nejaky udaj"; Extract($ftp); $conn_id = ftp_connect($server); // login with username and password $login_result = ftp_login($conn_id, $username, $pass); // try to download $server_file and save to $local_file if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) { echo "Soubor stáhnut"; } else { echo "Nějaká chyba"; } ftp_close($conn_id); ?> |
||
Majkl578 Profil |
#2 · Zasláno: 17. 10. 2009, 18:06:22
vzdyt je to v manualu:
local_file The local file path (will be overwritten if the file already exists). |
||
ONdra28 Profil * |
#3 · Zasláno: 17. 10. 2009, 18:08:21
Mi to píše tohle
Warning: ftp_get(D:\moje galerka\close.gif) [function.ftp-get]: failed to open stream: Permission denied in /home/free/ic.cz/s/spectrik/root/www/New2.php on line 18 Warning: ftp_get() [function.ftp-get]: Error opening D:\moje galerka\close.gif in /home/free/ic.cz/s/spectrik/root/www/New2.php on line 18 Nějaká chyba |
||
AM_ Profil |
#4 · Zasláno: 17. 10. 2009, 18:17:20
Stačí si to přeložit, k souboru je odepřený přístup. Zřejmě je mimo povolené adresáře, kam může PHP přistupovat, nebo ho máš zrovna v něčem otevřený.
|
||
ONdra28 Profil * |
#5 · Zasláno: 17. 10. 2009, 18:20:56
To sem si sice přeložil, ale ať zadám jakoukoliv cestu tak to řve tu chybovou hlášku.
|
||
AM_ Profil |
#6 · Zasláno: 17. 10. 2009, 18:28:21
na jakém systému ti ten soubor běží? windows nebo linux? (nesnažíš se tohle nahrát někam na web a doufat, že při spuštění tohohle skriptu někde na webu se ti to stáhne do PC?)
mimochodem, řádky 7-10: jaký smysl má založit si asociativní pole, takhle ho naplnit hodnotami a hned extrahovat do hlavní tabulky proměnných? není lepší přiřazovat to přímo ($username="udaj")? |
||
ONdra28 Profil * |
#7 · Zasláno: 17. 10. 2009, 18:36:13
(nesnažíš se tohle nahrát někam na web a doufat, že při spuštění tohohle skriptu někde na webu se ti to stáhne do PC
Jo přesně o to se snažím :) tak to je dobrej fail.. Já tady ty ftp fce moc neznám, chtěl jsem jen to jen vyzkoušet..takže takhle ne :-D mimochodem, řádky 7-10: jaký smysl má založit si asociativní pole, takhle ho naplnit hodnotami a hned extrahovat do hlavní tabulky proměnných? není lepší přiřazovat to přímo ($username="udaj")? Skript je stáhlej z webu, není můj |
||
fopen Profil * |
#8 · Zasláno: 17. 10. 2009, 18:52:19
Presne, druhy argument je klúčovy pre ftp prenos, svojho času som sa tým tiež zapodieval a dospel som k nasledujúcej funkcii:
public function Download() { $downloadfile = strip_tags(urldecode($_GET['downloadfile'])); $tempname = $this->FTPTemp.md5($downloadfile); if (@$fp = fopen($tempname, "w+")) { $this->Msg[] = 'File pointer ready.'; if (@ftp_fget($this->FTPStream, $fp, $downloadfile, FTP_BINARY)) { header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); header("Content-Description: File Transfer"); header("Content-Type: application/force-download"); header("Content-Disposition: inline; filename=".$downloadfile.""); header("Expires: 0"); rewind($fp); fpassthru($fp); fclose($fp); if(@unlink($tempname)){ $this->Msg[] = 'Clear FTP temp dir.'; } exit; } else { $this->Msg[] = "Download failed."; } } else { $this->Msg[] = 'File pointer failed.'; } } |
||
ONdra28 Profil * |
#9 · Zasláno: 17. 10. 2009, 18:58:02
fopen
Dík, určitě se na to podívám. |
||
AM_ Profil |
#10 · Zasláno: 17. 10. 2009, 19:28:22
fopen
jen poznámka, napsal jsi to jako metodu a ne funkci, takže buď bude ONdra28 potřebovat celou třídu, nebo si to bude muset dost překopat (je tam dost referencí na $this) |
||
fopen Profil * |
#11 · Zasláno: 17. 10. 2009, 19:39:54
AM_
maš pravdu, je to metoda, dal som ju len ako priklad (funkčný) a verím že to ONdra28 zvládne, môžem len poradiť že $this->Msg[]= sa da nahradit echom a potom už ostavaju iba $this->FTPTemp, $this->FTPStream, tie sa daju nahradiť konkretnými premennými... |
||
Časová prodleva: 15 let
|
0