0
我有一个PHP脚本我正在使用将上传的图像转换成一半的质量,所以我可以节省服务器空间,但它不工作我是新来的PHP,所以希望有人可以帮助我在哪里出错。php png图像质量50%
if(isset($_FILES['t1']['name'])){
$file = rand(0, 10000000).$_FILES['t1']['name'];
if (move_uploaded_file($_FILES['t1']['tmp_name'], $file)) {
if($fp = fopen($file,"rb", 0))
{
$picture = fread($fp,filesize($file));
fclose($fp);
$img = imagecreatefrompng($file);
imagepng($img, $file, 6); //6 quality setting
imagedestroy($img);
$tag1 = '<img src="'.$file.'" alt="" class="default" />';
//unlink($file);
echo "<script>$(document).ready(function() {var write = $('.item:nth-child(1)').html();localStorage.item1Pantry = write;});</script>";
}
}
}
+1对于安全警告! –
有没有办法强制用户上传png文件? – Blynn
@Blynn,不,你可以做的只是稍后检测文件类型服务器端(通过实际检查文件数据,而不仅仅是查看扩展名!)。即使如此,过去在图像库中也存在已知的漏洞。在网络文档根目录之外,按顺序编号命名您的文件或不带文件扩展名的文件。用一个从数据库获取文件数据的PHP脚本来为它们服务。然后,您甚至可以使用建议的文件名与用户最初拥有的内容一起返回它们,同时防止服务器端执行。 – Brad