使用PHP将外部映像复制到服务器

时间:2013-12-05 17:22:19

标签: php image url copy external

我想将外部图像复制到本地服务器。 当网址看起来像这样时我知道怎么做: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()测试过。

感谢你的建议!

1 个答案:

答案 0 :(得分:0)

如何生成$name值。如果您从URL中提取该内容,则可能存在创建$name值的问题。

另外,您是否尝试转义您提供给复制命令的URL字符串?只是为了确保它不是导致问题的URL字符串。