当用户上传图片时,有一个安全设置可以检查它是否真的是图片。
function is_image($image_path)
{
if (!$f = fopen($image_path, 'rb'))
{
return false;
}
$data = fread($f, 8);
fclose($f);
// signature checking
$unpacked = unpack("H12", $data);
if (array_pop($unpacked) == '474946383961' || array_pop($unpacked) == '474946383761') return "gif";
$unpacked = unpack("H4", $data);
if (array_pop($unpacked) == 'ffd8') return "jpg";
$unpacked = unpack("H16", $data);
if (array_pop($unpacked) == '89504e470d0a1a0a') return "png";
return false;
}
但我不明白如何在 redactorjs 文件中添加此代码以检查图像。我已添加此代码image-processor.php
但没有结果。
我添加了这段代码:
if (is_image($_FILES['file']['path']) == false){
die("Not an image at all");
};
不确定它是否有效,如果我添加电影而不是图像,则文件首先上传,然后什么也没有发生!我认为这是服务器的问题,我想要的是在不上传文件的情况下做某事?