我試圖弄清楚如何讀取檔案并通過 php/curl 從遠程 SFTP 連接獲取內容。我目前有下面的代碼來讀取目錄中的檔案串列。
$ch = curl_init('sftp://' . $sftpServer . ':' . $sftpPort . $sftpRemoteDir . '/');
curl_setopt($ch, CURLOPT_USERPWD, '*****:*****');
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($ch, CURLOPT_DIRLISTONLY, '1L');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
如果我將 curl_init 更改為下面的行(添加了檔案名),我該如何讀取該檔案?
$ch = curl_init('sftp://' . $sftpServer . ':' . $sftpPort . $sftpRemoteDir . '/filename.txt');
uj5u.com熱心網友回復:
該$response變數將包含檔案資料。如果要將檔案保存到服務器的機器上,可以使用file_put_contents.
$ch = curl_init('sftp://' . $sftpServer . ':' . $sftpPort . $sftpRemoteDir . '/filename.txt');
curl_setopt($ch, CURLOPT_USERPWD, '*****:*****');
curl_setopt($ch, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($ch, CURLOPT_DIRLISTONLY, '1L');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close($ch);
file_put_contents("/path/to/save/filename.txt", $response);
如果您想讀取明文(可用于文本檔案,包括.txts),那么您應該能夠簡單地讀取$response變數,它應該是一個字串。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/416757.html
標籤:
