【发布时间】:2009-12-04 16:45:30
【问题描述】:
任务
将二进制文件从远程媒体处理服务器下载到 Web 服务器。
这可行,但我无法捕获 curl 标准输出输出
$result = shell_exec('curl -v http://domain.com/images/dir/dir/dir/file.jpg --user 用户名:密码 -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);
谢谢
【问题讨论】:
-
你真的必须使用 curl 吗?你可以直接打开网址。