我想将外部图像复制到本地服务器。 当网址看起来像这样时我知道怎么做:www.external.com/image.jpg 但是当图像如下时它是如何工作的:www.external.com/image.php?image = flowers?
我的代码是:
$headers = get_headers($url, 1);
$type = $headers["Content-Type"];
$types = array('image/gif' => 'gif', 'image/jpeg' => 'jpeg', 'image/png' => 'png');
if(in_array($type, $types))
{
copy($url, '../img/'.$name.'.'.$types[$type]);
}
答案:
看起来if(in_array($ type,$ types))是问题所在。 当我删除那部分时一切顺利。
刚刚使用file_get_contentst()和fwrite()测试过。
感谢你的建议!
答案 0 :(得分:0)
如何生成$name
值。如果您从URL中提取该内容,则可能存在创建$name
值的问题。
另外,您是否尝试转义您提供给复制命令的URL字符串?只是为了确保它不是导致问题的URL字符串。