PHP验证图像url


PHP validate image url

我有一个非常简单的表单。它是为那些想在我的网站上给自己一张"个人资料图片"的人准备的。无需上传,只需输入图片的网址,然后点击保存即可。所以,它只是一个"url"。

这是我当前的代码

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

我什么都试过了。我试过只获取图像大小(),但它不起作用。这通过wamp在本地主机上运行,但在主机上失败。我必须更改php.ini中的某些内容吗?

非常感谢。

主机可能没有启用allow_url_fopen指令。这可能会导致getimagesize函数无法访问外部url的图像。如果是这种情况,打开错误报告将抛出一个警告,说明

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

开启它将有助于这项事业。请参阅此处的类似问题

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

为了参考,请查看此线程。

我已经解决了这个问题。我在主机上查看了错误日志。它说allow_url_fopen=0是错误。我在php.ini上打开了它,现在它可以工作了!