Zadejte hledaný výraz...

Vytvoření ZIP souboru na FTP a následně jeho stažení

Ondřej Váško
verified
rating uzivatele
28. 11. 2023 06:43:28
Ahoj, marně bojuju s následujícím:
Na FTP mam umístěné soubory, které chci zabalit do ZIPka a tento soubor následně stáhnout. Poskládál jsem následující kód
$filesToZip = array();
// Connect to FTP server
$ftpServer = "ftp.xxx.cz";
$ftpUsername = "xxx.cz";
$ftpPassword = "xxx";
$ftpConnection = ftp_connect($ftpServer);
ftp_login($ftpConnection, $ftpUsername, $ftpPassword);
$ftpDirectory = '/path';
$files = ftp_nlist($ftpConnection, $ftpDirectory);
foreach ($files as $file) {
    $filesToZip[] = $file;
}
// Create a ZIP file
$zip = new ZipArchive();
$zipFileName = "./downloaded_files.zip";
if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
    foreach ($filesToZip as $file) {
        $fileContent = ftp_get($ftpConnection, 'php://temp', $file, FTP_BINARY);
        $zip->addFromString(basename($file), $fileContent);
    }
    $zip->close();
    header('Content-Type: application/zip');
    header('Content-disposition: attachment; filename=' . $zipFileName);
    header('Content-Length: ' . filesize($zipFileName));
    readfile($zipFileName);
    unlink($zipFileName);
} else {
    echo "Failed to create ZIP file.";
}
ftp_close($ftpConnection);
?>
Ale na FTP ve složce se mi ZIP soubor nevytvoří a tak není co stahovat. Dokázal by mi někdo poradit co je špatně, prosím?
Editováno 28. 11. 2023 06:47:14 uživatelem Ondřej Váško
28. 11. 2023 06:43:28
https://webtrh.cz/diskuse/vytvoreni-zip-souboru-na-ftp-a-nasledne-jeho-stazeni/#reply1522911
bhy
verified
rating uzivatele
(7 hodnocení)
28. 11. 2023 10:55:38
Zdravím, chtělo by to nějaký error.log, problém může být třeba v přístupových právech, zkusil bych tam nejdřív vytvořit prázdný soubor.
28. 11. 2023 10:55:38
https://webtrh.cz/diskuse/vytvoreni-zip-souboru-na-ftp-a-nasledne-jeho-stazeni/#reply1522914
Michal Krejčí
verified
rating uzivatele
(27 hodnocení)
28. 11. 2023 23:05:43
Zdravím. Ten skript má víc problémů než bezdomovec v zimě. Doporučuji toto raději zadat někomu kdo ví co dělá, viz sekce Poptávky.
Pár tipů:
  • ZIP archiv se vytváří lokálně, takže je logické že jej nelze najít (a stáhnout) na FTP serveru.
  • Funkce ftp_get nevrací obsah souboru, ale jen stav zda operace dopadla úspěšně (True) či neúspěšně (False).
28. 11. 2023 23:05:43
https://webtrh.cz/diskuse/vytvoreni-zip-souboru-na-ftp-a-nasledne-jeho-stazeni/#reply1522941
David Musil
verified
rating uzivatele
(69 hodnocení)
29. 11. 2023 08:07:40
Zkus ten skript odladit primo na tom ftp. Ne na localu, aby ses musel na ftp pripojovat. 
29. 11. 2023 08:07:40
https://webtrh.cz/diskuse/vytvoreni-zip-souboru-na-ftp-a-nasledne-jeho-stazeni/#reply1522946
Jamira40
verified
rating uzivatele
(4 hodnocení)
29. 11. 2023 09:30:49
Alebo je tu 3. možnosť. SFTP resp. SSH :) a ak to hosting nevie tak to je smola.
29. 11. 2023 09:30:49
https://webtrh.cz/diskuse/vytvoreni-zip-souboru-na-ftp-a-nasledne-jeho-stazeni/#reply1522947
Michal Krejčí
verified
rating uzivatele
(27 hodnocení)
29. 11. 2023 15:54:17
Zkus ten skript odladit primo na tom ftp. Ne na localu, aby ses musel na ftp pripojovat. 
Kdyby potřeboval ten skript spouštět z FTP serveru, tak tam přece nebude řešit připojení na FTP, ale udělal by si ZIP archiv lokálně. Očividně chce z jednoho serveru, kde má ten PHP skript, inicializovat stažení zálohy ze vzdáleného FTP serveru.
29. 11. 2023 15:54:17
https://webtrh.cz/diskuse/vytvoreni-zip-souboru-na-ftp-a-nasledne-jeho-stazeni/#reply1522978
Pro odpověď se přihlašte.
Přihlásit