|
|
|
ช่วยดูCode php หน่อยคับ ในการตรวจสอบนามสกุลไฟล์ รูป กับการ $_POST ลงในฐานข้อมูลว่าถูกหรือป่าว |
|
|
|
|
|
|
|
ช่วยดูCode php หน่อยคับ ในการตรวจสอบนามสกุลไฟล์ รูป กับการ $_POST ลงในฐานข้อมูลว่าถูกหรือป่าว ผมกดเพิ่มข้อมูล
ปรากฏว่า ชนิดไฟล์ไม่ถูกต้องกลับไปตรวจสอบอีกครั้ง ทั้งที่ เป็นรูป JPG อยู่แล้ว แต่รันในเครื่องกลับไม่เจอปัญหาเลยทำได้ปกติคับ
Code (PHP)
<?
include("include/config.php");
include("include/function.inc.php");
//ตรวจสอบนามสกุล
if(!empty($picm_picture)) {
$PhotoType=strtolower($picm_picture_name);
$PhotoType = strstr($PhotoType,'.');
}//ปิดตรวจสอบนามสกุล
//ตรวจสอบว่าเป็นภาพและนามสกุลของภาพถูกหรือเปล่า
if(($PhotoType==".jpg")or($PhotoType==".gif")or($PhotoType==".bmp")or($PhotoType==".swf")or($PhotoType==".tif")
or($PhotoType==".png")or($PhotoType==".tiff")or($PhotoType==".pic")or($PhotoType==".jpeg")or($PhotoType==".gif")) {
/*(ชนิดไฟล์ถูกต้อง)*/
} else {
echo"<br><center><span class='ms_14_red_bold'>ชนิดไฟล์ไม่ถูกต้องกลับไปตรวจสอบอีกครั้ง</span></center>";
echo"<center><span class='ms_14_nor'><a href='javascript:history.back(1)' class='ms_14_blue2_nor'>กลับไปกรอกใหม่</a></span></center>";
exit();
}
//ตรวจสอบขนาดไฟล์ภาพไม่ให้เกินที่กำหนด$photosize
if($picm_picture_size>$photosize) {
echo"<br><center><span class='ms_14_red_bold'>ไฟล์มีขนาด $picm_picture_size Byte ซึ่งเกิน $photosize Byte</span></center>";
echo"<center><span class='ms_14_nor'><a href='javascript:history.back(1)' class='ms_14_blue2_nor'>กลับไปกรอกใหม่</a></span></center>";
exit();
}
//ตรวจสอบความกว้างของภาพไม่ให้กว้างเกินที่กำหนด
$size = getimagesize($picm_picture);
if($size[0] > $photowidth) {
echo"<br><center><span class='ms_14_red_bold'>รูปภาพกว้าง $size[0] Pixels ซึ่งเกิน $photowidth Pixels</span></center>";
echo"<center><span class='ms_14_nor'><a href='javascript:history.back(1)' class='ms_14_blue2_nor'>กลับไปกรอกใหม่</a></span></center>";
exit();
}
//จัดเก็บลงฐานข้อมูล
$picm_id=$_POST['picm_id'];
$picm_topic=$_POST['picm_topic'];
$picm_detail=$_POST['picm_detail'];
$picm_date=$_POST['picm_date'];
$picm_picture=$_POST['picm_picture'];
$sql="INSERT INTO pic_main (picm_topic, picm_detail, picm_date) VALUES ('$picm_topic', '$picm_detail', '$picm_date')";
$result=mysql_query($sql);
// นำฟังก์ชั่น Ramdom password มาใช้เพื่อกำหนดชื่อไฟล์ป้องกันการซ้ำกัน
function random_password($len) {
srand((double)microtime()*10000000);
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
$ret_str = "";
$num = strlen($chars);
for($i = 0; $i < $len; $i++) {
$ret_str.= $chars[rand()%$num];
$ret_str.="";
}
return $ret_str;
}
$passw = random_password(30);//random password 10 ตัว
$now = date("Dgis"); //เพิ่มวันในชื่อไฟล์ด้วย
$last_id=mysql_insert_id();
$path="gallery";
//copy ไฟล์ภาพไปไว้ที่โฟลเดอร์
copy($picm_picture, "$path/$passw$now$PhotoType");
$sqlfiles = "UPDATE pic_main SET picm_picture='$passw$now$PhotoType' WHERE picm_id='$last_id'";
$dbqueryfiles = mysql_db_query($dbname, $sqlfiles);
// ย่อภาพ
$pathgallery="thumb";
$height=150; //ความสูงที่ต้องการย่อ
$width=200; //กว้างที่ต้องการย่อ
$images_orig = imagecreatefromjpeg($picm_picture);
$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,"$pathgallery/$passw$now$PhotoType"); // บันทึกภาพย่อลงบนโฟลเดอร์ thumb
imagedestroy($images_orig);
imagedestroy($images_fin);
if($result) {
echo"<br><center><img src='images/loading.gif'></center>";
echo"<br><center><span class='ms_14_red_bold'>ทำการเพิ่มกิจกรรมเรียบร้อยแล้ว</span></center>";
echo"<center><span class='ms_14_nor'>กรุณารอสักครู่ Loading....</span></center>";
?>
<meta http-equiv="refresh" content="2;URL= admin/picture_manage.php">
<?
} else {
echo"<br><center><span class='ms_14_red_bold'>ไม่สามารถแก้ไขข้อมูลได้</span></center>";
}
mysql_close();
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2011-09-05 18:47:46 |
By :
seya |
View :
1145 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|