php - 通过 sftp 使用 curl 下载文件

标签 php curl sftp

这只会创建一个空文件..文件中没有内容

$host = 'domain.com';
$pass = 'xxx';

$remote = 'sftp://var/www/test.txt';
$local = 'C:\wamp\www\test.txt';

$curl = curl_init();
$file = fopen($local, 'w');
curl_setopt($curl, CURLOPT_URL, $remote);
curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($curl, CURLOPT_USERPWD, "root:$pass");
curl_setopt($curl, CURLOPT_FILE, $file);
curl_exec($curl);
curl_close($curl);
fclose($file);

解决方案

$host = 'domain.com';
$pass = 'xxx';

$remote = "sftp://root:$pass@$host/var/www/test.txt";
$local = 'C:\wamp\www\test.txt';

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $remote);
curl_setopt($curl, CURLOPT_PROTOCOLS, CURLPROTO_SFTP);
curl_setopt($curl, CURLOPT_USERPWD, "root:$pass");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
file_put_contents($local, curl_exec($curl));
curl_close($curl);

最佳答案

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$d = curl_exec($curl);
// data is in $d var, write it somewhere ;)
$local = "/tmp/myfile.txt";
file_put_contents($local, $d);

关于php - 通过 sftp 使用 curl 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30599370/

相关文章:

php - 无法使用php将表单数据保存到sql表

php - facebook登录连接mysql

PHP curl 连接超时错误

php - 需要帮助创建 Cron 来每天下载 XML 文件

java - 带 header 的 RSA 私钥和 OPENSSH 私钥有什么区别?

linux - 在允许 shell 访问的同时限制远程 ssh 命令

php - 如何在 PHP 中获取每月的第 15 天和最后一天

php - 如果在另一行中删除了一行,如何更新表

php - CURLOPT_FOLLOWLOCATION 无法激活

linux - 通过 cronjob 中的 bash 脚本进行 sftp : 'get' and 'rm' commands not found?