สอบถามการ Resize รูปหน่อยครับพอดีทดลองแล้วได้ผล แต่ยังขึ้น Warning อยู่เลยไม่เข้าใจว่าต้องแก้ตรงไหนครับ
เดิมทีจากโค๊ดของ admin นั้นเก็บทั้งรูปที่ Resize และรูปเดิมทั้งสองเลย
แต่ผมทำการ Resize และต้องการจะ เก็บ และ insert เฉพาะชื่อรูปที่ Resize แล้วเท่านั้น ซึ่งจากโค๊ดด้านล่างนั้น มันทำได้ครับ แต่ทำไมมันยังขึ้นว่า
Error
Warning: copy(Thumbnails_Chrysanthemum.jpg) [function.copy]: failed to open stream: No such file or directory in C:\AppServ\www\Album\phpUploadResizeToMySQL2.php on line 17
Resize Successful.
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP Upload Resize to MySQL</title>
</head>
<body>
<?
for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
{
if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"][$i];
$new_images = "Thumbnails_".$_FILES["fileUpload"]["name"][$i];
/* copy($_FILES["fileUpload"]["tmp_name"][$i],"MyResize/".$_FILES["fileUpload"]["name"][$i]); โค๊ดเดิม*/
line 17 copy($new_images,"MyResize/".$_FILES["fileUpload"]["name"][$i]); /*ทดลองแก้เอาเพราะรูปที่ Resize*/
$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);
echo "Resize Successful.<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .="(Thumbnails) VALUES ('$new_images')";
$objQuery = mysql_query($strSQL);
}
}
?>
<a href="phpMultiUploadResizeToMySQL3.php">View files</a>
</body>
</html>
Tag : PHP, MySQL
Date :
2014-06-05 23:01:56
By :
ที
View :
1039
Reply :
5
หาไฟล์ไม่เจอน่ะ
เท่าที่ดูไฟล์น่าจะไปเก็บอยู่ที่ตรงนี้
ImageJPEG($images_fin,"MyResize/".$new_images);
Date :
2014-06-06 07:42:27
By :
{Cyberman}
ขอถามต่ออีกหน่อยครับ พอดีผมอัพรูปที่ัมันใหญ่แล้ว ขึ้นว่า
Fatal error: Allowed memory size of 25165824 bytes exhausted (tried to allocate 17152 bytes) in C:\AppServ\www\Album\phpUploadResizeToMySQL2.php on line 22
ผมเข้าไปปรับ php.ini
max_execution_time = 3000 ; Maximum execution time of each script, in seconds
max_input_time = 6000 ; Maximum amount of time each script may spend parsing request data
memory_limit = 300M ; Maximum amount of memory a script may consume (8MB)
restart Apache แล้วทดลองดูก็ยัง ขึ้นFatal error มามันเป็นเพราะอะไรครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP Upload Resize to MySQL</title>
</head>
<body>
<?
for($i=0;$i<count($_FILES["fileUpload"]["name"]);$i++)
{
if(trim($_FILES["fileUpload"]["tmp_name"][$i]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"][$i];
$new_images = "Thumbnails_".$_FILES["fileUpload"]["name"][$i];
//copy($_FILES["fileUpload"]["tmp_name"][$i],"MyResize/".$_FILES["fileUpload"]["name"][$i]);
$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);
echo "Resize Successful.<br>";
//*** Insert Record ***//
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "INSERT INTO files ";
$strSQL .="(Thumbnails) VALUES ('$new_images')";
$objQuery = mysql_query($strSQL);
}
}
?>
<a href="phpMultiUploadResizeToMySQL3.php">View files</a>
</body>
</html>
Date :
2014-06-06 15:55:29
By :
ที
Load balance : Server 03