PHP CURL SFTP 读取文件?
PHP CURL SFTP Read File?
我正在尝试弄清楚如何读取文件并通过 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');
$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);
如果你想读取明文(可用于文本文件,包括.txt
s),那么你应该能够简单地读取$response
变量,它应该是一个字符串。
我正在尝试弄清楚如何读取文件并通过 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');
$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);
如果你想读取明文(可用于文本文件,包括.txt
s),那么你应该能够简单地读取$response
变量,它应该是一个字符串。