Php 如何验证来自外部源的图像
用户可以将图片url粘贴到表单上,然后我的应用程序将其下载到本地服务器上。我想验证此图像,但我有问题 输入:Php 如何验证来自外部源的图像,php,laravel,Php,Laravel,用户可以将图片url粘贴到表单上,然后我的应用程序将其下载到本地服务器上。我想验证此图像,但我有问题 输入: $image = "http://example.com/image.png"; 规则,但不起作用 'image' => [ 'required', 'url', 'mimes:jpeg,png', 'max:5120', 'dimensions:min_width=400,min_height=400', new
$image = "http://example.com/image.png";
规则,但不起作用
'image' => [
'required',
'url',
'mimes:jpeg,png',
'max:5120',
'dimensions:min_width=400,min_height=400',
new FileExtensionRule(['png', 'jpg', 'jpeg'])
]
如何验证来自外部源的图像。首先,您必须制定自定义规则 然后将逻辑放在RemoteImage类的这个函数中
public function passes($attribute, $value)
{
return strtoupper($value) === $value;
}
获取文件类型
$image = "http://example.com/image.png";
$ext = pathinfo($image, PATHINFO_EXTENSION);
获取要验证的文件大小
使用卷曲
$ch = curl_init('http://example.com/image.png');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$data = curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
echo $size;
您可以展开“不工作”吗?我有一条消息:属性无法上载。我如何检查图像像素大小?这是一个简单的列表($width,$height,$type,$attr)=getimagesize(“);echo$width;echo$height;非常感谢
$ch = curl_init('http://example.com/image.png');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
$data = curl_exec($ch);
$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
curl_close($ch);
echo $size;