iT邦幫忙

0

【PHP】如何使用PHP連上TLS的FTP下載整個資料夾內的資料?

  • 分享至 

  • xImage

目前參考網路上的範例,遇到兩個問題
第一個可以跑的範例,只能一次抓一個檔案,但是卻不是下載,不知道為什麼變成上傳,然後檔案大小變成0

第二個範例如下,在列出目錄內的資料的部分就沒效果了

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>FTP</title>
</head>
<body>

<?
function downloadFiles()
{
    $host = 'test.tw';
    $username = '*****';
    $userpass = '*****';

    $remoteDir = '/test/t-cat_ftp/ftp';
    $localDir = '/ftp';

    $stream = ftp_ssl_connect($host);
    ftp_login($stream, $username, $userpass);

    // パッシブモードON
    ftp_pasv($stream, true);

    // ディレクトリ内のファイル一覧を取得
    $remoteFilePaths = ftp_nlist($stream, $remoteDir);

    foreach ($remoteFilePaths as $filePath) {
        $localFilePath = $localDir . '/' . basename($filePath);
        // ファイルをダウンロード
        $result = ftp_get($stream, $localFilePath, $filePath, FTP_BINARY);
    }
    ftp_close($stream);
}

$result = downloadFiles();
?>

</body>
</html>

感覺從這裡就沒有反應了

$result = ftp_get($stream, $localFilePath, $filePath, FTP_BINARY);

請問是我哪裡有寫錯嗎?

alan0219 iT邦新手 5 級 ‧ 2021-09-15 17:07:24 檢舉
目前解決問題了,是資料夾權限問題
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答