|
|
|
PHP สอบถามผู้รู้เกี่ยวกับการ Upload Image แบบ BLOB แต่มีการ resize ก่อนลง database ครับผม |
|
|
|
|
|
|
|
Go to : PHP Upload and Resize Image
Go to : PHP Upload MySQL BLOB Image (BLOB Binary Data in a MySQL Database)
เขียนให้ดูครับ
Code (PHP)
if(trim($_FILES["fileUpload"]["tmp_name"]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"];
$new_images = "Thumbnails_".$_FILES["fileUpload"]["name"];
copy($_FILES["fileUpload"]["tmp_name"],"MyResize/".$_FILES["fileUpload"]["name"]);
$width=100; //*** Fix Width & Heigh (Autu caculate) ***//
$size=GetimageSize($images);
$height=round($width*$size[1]/$size[0]);
$images_orig = ImageCreateFromJPEG($images);
$photoX = ImagesX($images_orig);
$photoY = ImagesY($images_orig);
$images_fin = ImageCreateTrueColor($width, $height);
ImageCopyResampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
ImageJPEG($images_fin,"MyResize/".$new_images);
ImageDestroy($images_orig);
ImageDestroy($images_fin);
//*** Read file BINARY ***'
$fp = fopen("MyResize/".$new_images,"r");
$ReadBinary = fread($fp,filesize("MyResize/".$new_images));
fclose($fp);
$FileData = addslashes($ReadBinary);
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .="(Name,FilesName) VALUES ('".$_POST["txtName"]."','".$FileData."')";
$objQuery = mysql_query($strSQL);
echo "Copy/Upload Complete<br>";
mysql_close($objConnect);
}
|
|
|
|
|
Date :
2012-05-26 08:05:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่แนะนำให้เก็บ เป็น Binary แบบนี้ครับ
แนะนำให้เก็บเป็น ไฟล์ แล้ว ค่อยเก็บชื่อ ไฟล์ลง DB แทน
เพราะว่า มีโอกาสที่ความเสียหายของภาพมีสูง และ ที่สำคัญ DB คุณจะโตมาก ถ้าเก็บภาพไว้เยอะๆ
|
|
|
|
|
Date :
2012-05-26 12:21:06 |
By :
kamuro |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|