Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ช่วยดูCode php หน่อยคับ ในการตรวจสอบนามสกุลไฟล์ รูป กับการ $_POST ลงในฐานข้อมูลว่าถูกหรือป่าว



 

ช่วยดูCode php หน่อยคับ ในการตรวจสอบนามสกุลไฟล์ รูป กับการ $_POST ลงในฐานข้อมูลว่าถูกหรือป่าว

 



Topic : 066006

Guest




ช่วยดู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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-05 18:47:46 By : seya View : 1145 Reply : 1
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Code (PHP)
$PhotoType = strstr($PhotoType,'.');
echo $PhotoType;


มันได้ค่าเป็นอะไรครับ ผมว่าใช้แบบนี้ไม่ค่อยจะถูกครับ และอีกอย่างคุณควรจะอ่านแบบ $_FILES ครับ

ลองดูกระทู้นี้ครับ

Go to : อยากจะไห้ โปรแกรม PHP อัพโหลดรูปภาพ ได้เฉพาะ นามสกุล jpeg jpg และขนาด น้อยกว่า 200 kb
Go to : PHP File ($_FILES,$HTTP_POST_FILES)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-05 21:12:48 By : webmaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูCode php หน่อยคับ ในการตรวจสอบนามสกุลไฟล์ รูป กับการ $_POST ลงในฐานข้อมูลว่าถูกหรือป่าว
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่