use*_*594 0 php fopen curl fclose
我正在尝试使用来自php的curl下载图像,但是不是将图像保存到服务器,而是将随机字符输出到Web浏览器屏幕,这里是代码
$final['IMAGE'] = 'http://www.google.com/images/srpr/logo3w.png';
$imagename = trim(basename($final['IMAGE']));
$url = $final['IMAGE'];
$path = '/media/import/';
$path .= $imagename;
$fp = fopen($path, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
curl_close($ch);
fclose($fp);
Run Code Online (Sandbox Code Playgroud)
curl_exec($ch);
将输出直接打印到屏幕上.使用CURLOPT_RETURNTRANSFER
-option 时可以停止他的行为:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅PHP手册" curl_setopt ".
编辑
这个小脚本将文件下载到可写目录:
// file handler
$file = fopen(dirname(__FILE__) . '/test.png', 'w');
// cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'somethinsomething.com/something.png');
// set cURL options
curl_setopt($ch, CURLOPT_FAILONERROR, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// set file handler option
curl_setopt($ch, CURLOPT_FILE, $file);
// execute cURL
curl_exec($ch);
// close cURL
curl_close($ch);
// close file
fclose($file);
Run Code Online (Sandbox Code Playgroud)
这一次,它就是CURLOPT_FILE
诀窍.可以在与以前相同的链接上找到更多信息.