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