1
我有一个PHP脚本,它将图片上传到MySQL数据库。这些图像是在浏览器中拍摄的。我想在上传前压缩它们,但我不太确定如何压缩上传的数据。我现在得到的是:PHP的图像压缩和上传到MySQL
if(isset($_FILES['userfile']) && $_FILES['userfile']['size'] > 0)
{
//$positiony = $_POST['posy'];
$fileName = $_FILES['userfile']['name'];
$tmpName = $_FILES['userfile']['tmp_name'];
$fp = fopen($tmpName, 'r');
$content = fread($fp, filesize($tmpName));
$content = addslashes($content);
$content = imagejpeg($content,null,50);
fclose($fp);
if(!get_magic_quotes_gpc())
{
$fileName = addslashes($fileName);
}
$query = "INSERT INTO upload (team_name, id, display, content) ".
"VALUES ('$team_name', 'null', '1', '$content')";
mysql_query($query) or die('Error, query failed'.mysql_error());
echo "<br>File $fileName uploaded<br>";
}
图片上传工作正常,但上传的图片被打破。介绍imagejpeg
作为一种压缩形式已经引起了这些问题。我应该在别的东西上使用它吗?
松开'addslashes()'!你认为这会对图像文件的内容做什么? – RiggsFolly
实际上报废。 R.T.M,'imagejpeg()'将文件写入浏览器,其返回值为'true'或'false' **不是图像** – RiggsFolly
有没有更好的方法来压缩图像?然后将其上传到db中作为mediumblob的表中? – Oliver