PHP验证图像网址

时间:2014-04-30 02:40:54

标签: php image verification

我有这个非常简单的形式。对于那些想要给自己一张照片的人来说,这是一个很好的例子。在我的网站上。没有上传,只需输入图片的网址,然后点击保存即可。所以,它只是一个" url"。

这是我目前的代码

<?PHP 
    if(is_array(getimagesize($_POST['profilepicture']))&&filter_var($_POST['profilepicture'], FILTER_VALIDATE_URL,FILTER_FLAG_SCHEME_REQUIRED)){    
        echo "Good";
    } else {
        echo "Bad";
    }
?>

我已经尝试了一切。我尝试过getimagesize()并且它不起作用。这可以通过wamp在我的localhost上运行,但在我的主机上失败。我必须在php.ini中更改某些内容吗?

非常感谢。

3 个答案:

答案 0 :(得分:1)

您的主机可能未启用allow_url_fopen指令。这可能会导致getimagesize函数无法访问外部URL图像的情况。如果是这种情况,启用错误报告将发出警告说明

  

警告:   和getimagesize(http://extenalsite.com/path/to/profile/image.txt)   [function.getimagesize]:无法打开流:没有合适的包装器   可以找到

并将其设置为有帮助的原因。请参阅类似问题here

答案 1 :(得分:0)

检查PHP.ini文件夹中的"upload_max_filesize"定义。确保它没有使上传过程失败。 (任何大于默认值2MB的文件都将被取消。)

供参考,请查看this thread

答案 2 :(得分:0)

我已经找到了问题所在。我检查了我的主机上的错误日志。它说allow_url_fopen = 0是错误。我在我的php.ini上把它变成了“On”,现在它可以工作了!