|
|
|
ถามนิดเดียวครับ ไม่ใช่แก้นะ ปรึกษา Fatal error: Allowed memory size of 8388608 bytes exhausted .... |
|
|
|
|
|
|
|
ผมไม่เทพนะ แต่ผมคิดว่า คุณน่าจะต้องตรวจสอบขนาดไฟล์ก่อน ถ้ามันเกินกว่าที่ server เค้าให้ คุณก็ตีกลับเลย
ส่วนตรงที่ให้กด upload คุณก็บอกเลยว่า มันรับได้เท่าไหร่
|
|
|
|
|
Date :
2011-10-13 13:19:17 |
By :
grandraftz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : grandraftz เมื่อวันที่ 2011-10-13 13:19:17
รายละเอียดของการตอบ ::
ผมให้ขนาดมันแค่ 2 เมกนะครับแต่ฟังก์ชั่นด้านในมันเป็นการ Resize รูป มันอัพได้ไม่เกิน 2 mb ก็จริงครับ
แต่ทว่า ถ้ารูปมันมีความกว้าง*สูง แล้วขนาดไฟล์มัน ไม่เกิน 2 mb จะเกิดปัญหานี้ครับ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<?
//ตรวจสอบนามสกุลและขนาดไม่เกิน 2mb[1]
if ((($_FILES["fileUpload"]["type"] == "image/gif")
|| ($_FILES["fileUpload"]["type"] == "image/jpeg")
|| ($_FILES["fileUpload"]["type"] == "image/png")
|| ($_FILES["fileUpload"]["type"] == "image/pjpeg"))
&& ($_FILES["fileUpload"]["size"] < 2097152))
{
if ($_FILES["fileUpload"]["error"] > 0)
{
echo "Error: " . $_FILES["fileUpload"]["error"] . "<br />";
}
else
//สิ้นสุดตรวจสอบนามสกุลและขนาดไม่เกิน 2mb[1]
if(trim($_FILES["fileUpload"]["tmp_name"]) != "")
{
$images = $_FILES["fileUpload"]["tmp_name"];
//โม เปลี่ยนชื่อไฟล์จากที่เคยใบ้ชื่อไฟล์ของมันเลย
$nImg=$_FILES[fileUpload][tmp_name];
$nImg_name=$_FILES[fileUpload][name];
if(!empty($nImg_name)){
$fname=basename($nImg_name);
$pos1=strrchr($fname,".");
$ftype=str_replace(".","",$pos1);
$ftype=strtolower($ftype);
$filename1 = date("Ymd-His").".$ftype"; }
$new_images = date("Ymd-His")."t.".$ftype;
copy($_FILES["fileUpload"]["tmp_name"],"../iSadpicture/".$filename1);
$width=100; //*** Fix Width & Heigh (Autu caculate) ***//
$size=GetimageSize($images);
$height=round($width*$size[1]/$size[0]);
if($size[2] == 1) {
$images_orig = imagecreatefromgif($images); //resize รูปประเภท GIF
} else if($size[2] == 2) {
$images_orig = imagecreatefromjpeg($images); //resize รูปประเภท JPEG
}else if($size[2] == 3) {
$images_orig = imagecreatefrompng($images); //resize รูปประเภท PNG
}
$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,"../iSadpicture/".$new_images);
ImageDestroy($images_orig);
ImageDestroy($images_fin);
echo "<br /><div align='center' style='width:600px; height:30px; margin:auto; padding-top:10px; border: #6BFA9D solid 2px; background-color: #D9FFE2;'>Resize Successful :)</div>";
include("connect_db.php");
$today=date("Y-m-d H:i:s");
$sql=" insert into picture (pTitle,pOwner,pDesc,pCr,pEmail,pThumbnails,pImg,pStatus,pDate,pIP)values('$_REQUEST[pName]','$_REQUEST[pOwner]','$_REQUEST[pDesc]','$_REQUEST[pCr]','$_REQUEST[pEmail]','".$new_images."','".$filename1."','1','$today','$_REQUEST[pIP]') ";
$result=mysql_db_query ($dbname, $sql);
echo "<script>alert(' บันทึกข้อมูลเรียบร้อยแล้ว')</script><meta http-equiv='refresh' content='1;URL =../index.php'>";
}
//ตรวจสอบนามสกุลและขนาดไม่เกิน 2mb[2]
}
else
{
echo "<center><a href = 'javascript:history.go(-1);'>กรุณาตรวจสอบชนิดและขนาดของรูปภาพ</a></center>";
}
//สิ้นสุดตรวจสอบนามสกุลและขนาดไม่เกิน 2mb[2]
?>
</body>
</html>
แล้วผมต้องทำยังไงดีเนี่ย เห้อ..
|
ประวัติการแก้ไข 2011-10-13 13:26:30
|
|
|
|
Date :
2011-10-13 13:25:43 |
By :
Jinns |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตรวจสอบ host เลยครับ
Code (PHP)
<?php
echo ini_get('upload_max_filesize');
?>
เอา script นี้ ไปรันบน host จริงครับ ว่ามันเซ็ตค่าuploadไว้ไม่เกินกี่ Mb
|
|
|
|
|
Date :
2011-10-13 13:29:55 |
By :
avsqlz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|