这里我有谷歌+图片propic网址https://lh4.googleusercontent.com/-s6QeMfcJfdA/AAAAAAAAAAI/AAAAAAAAAAs/p4PXN5-Z6KE/photo.jpg?sz=50
,现在我想下载这张图片并移动到一个文件夹,我试图下载但是下载正在发生但图片没有显示,它显示空文件,如果有人意味着仁慈地更新我的代码
$data = file_get_contents('https://lh4.googleusercontent.com/-s6QeMfcJfdA/AAAAAAAAAAI/AAAAAAAAAAs/p4PXN5-Z6KE/photo.jpg?sz=50');
$filename ='image';
//header('Content-Type: "'.$mime.'"');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".strlen($data));
exit($data);
答案 0 :(得分:1)
当您尝试下载图片时,您还需要使用文件名提供.jpg
这样的扩展名。你也使用php 5.6,所以你应该将verify_peer_name
设置为false:“verify_peer_name”=> false
http://php.net/manual/en/migration56.openssl.php
$files_content_extra=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$data = file_get_contents('https://lh4.googleusercontent.com/-s6QeMfcJfdA/AAAAAAAAAAI/AAAAAAAAAAs/p4PXN5-Z6KE/photo.jpg?sz=50', false, stream_context_create($files_content_extra));
$filename ='image.jpg'; // change this line
//header('Content-Type: "'.$mime.'"');
header('Content-Disposition: attachment; filename="'.$filename.'"');
header("Content-Transfer-Encoding: binary");
header('Expires: 0');
header('Pragma: no-cache');
header("Content-Length: ".strlen($data));
exit($data);