我有一个非常简单的表单。它是为那些想在我的网站上给自己一张"个人资料图片"的人准备的。无需上传,只需输入图片的网址,然后点击保存即可。所以,它只是一个"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上打开了它,现在它可以工作了!