任务
从远程媒体处理服务器下载二进制文件到web服务器。
虽然成功了,但我无法捕获curl stdout输出
$result = shell_exec('curl -v http://domain.com/images/dir/dir/dir/file.jpg --user username:password -o /usr/www/htdocs/images/dir/dir/dir/file.jpg');
注意: 我尝试过使用PHP curl包装方法完成这个任务,但没有成功,部分原因是因为我从来没有使用PHP curl包装程序进行FTP下载。
问题 有人能解释一下如何捕获我正在运行的命令的输出,或者给出一个使用PHP curl包装程序的简单示例吗?
以下是我尝试过的内容,我卡壳的部分是如何将新文件放置在目标服务器上——错误的地方在于CURLOPT_FILE行。我不想创建一个存根文件、打开它,然后写入它。
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $ftpserver.$file['directory'].$filename); #input
curl_setopt($curl, CURLOPT_FILE, $dest); #output
curl_setopt($curl, CURLOPT_USERPWD, "$user:$password");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
谢谢