|
|
|
PHP ช่วยด้วยค่ะ เช็คนามสกุลไฟล์เพลงที่จะอัพโหลดไม่ได้ |
|
|
|
|
|
|
|
alert ว่า กรุณาเลือกไฟล์ mp3 ตลอดเลย แม้ว่าไฟล์ที่เลือกนั้นนามสกุลเป็น .mp3 ก็ตาม
จะเขียนโค้ดเช็คยังไงคะ
Code (PHP)
<?
include("connect.php");
$forum_id =$_GET['forumid'];
$subject =$_POST['subject'];
$post_detail =$_POST['post_detail'];
$user_id =$_SESSION['user_id'];
$attach_file =$_FILES['attach_file'];
$song_name =$_POST['song_name'];
$singer_name =$_POST['singer_name'];
$date_post =date("Y-m-d H:i:s");
if (empty($subject) || empty($post_detail) || empty($song_name) || empty($singer_name))
{
echo "<script> alert ('กรุณากรอกข้อมูลให้ครบถ้วน') ; history.back();</script>";
exit();
}
if (!$attach_file)
{
echo "<script> alert ('กรุณาเพิ่มเพลง') ; history.back();</script>";
exit();
}
$tmp_file =$_FILES['attach_file']['tmp_name'];
$attachfile =$_FILES['attach_file']['name'];
$type =$_FILES['attach_file']['type'];
$path="song/";
if(($type!==".mp3"))
{
echo "<script> alert ('กรุณาเลือกไฟล์ mp3') ; history.back();</script>";
exit();
}
$upload=copy($attach_file,"$path".$attachfile);
if ($upload) {
$sql="INSERT INTO `webboard_post`(`question_id` ,`forum_id`,`subject` ,`post_detail` ,`user_id`,`attach_file` ,`count_view` ,`song_name`,`singer_name`,`date_post` )VALUES
('' ,'$forum_id','$subject', '$post_detail','$user_id','$attach_file','0', '$song_name', '$singer_name','$date_post');";
$mysql = mysql_db_query($db,$sql);
{
echo "<script> alert ('เพิ่มกระทู้เรียบร้อยแล้ว') ; window.location='webboard_admin.php'</script>";
}
}
?>
Tag : PHP
|
|
|
|
|
|
Date :
2011-07-02 23:30:31 |
By :
nokz |
View :
1180 |
Reply :
11 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแก้ดูน่ะครับ
Code (PHP)
if(($type!="audio/mpeg"))
{
echo "<script> alert ('กรุณาเลือกไฟล์ mp3') ; history.back();</script>";
exit();
}
ถ้าจะตรวจสอบจาก ".mp3" ต้องใช้ substr($_FILES['attach_file']['name'],-4,4) น่ะครับ
จะได้ค่า ".mp3" ออกมาครับ
|
ประวัติการแก้ไข 2011-07-03 09:05:37
|
|
|
|
Date :
2011-07-03 01:01:34 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแล้ว ก็ยังไม่ได้ค่ะ เหมือนเดิมเลย
|
|
|
|
|
Date :
2011-07-03 01:07:06 |
By :
nokz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo $type ออกมาดูสิครับว่ามันมีค่าอะไรเวลาอัพโหลด file mp3
แล้วก็เอาค่านั้นนะมาเปรียบเที่ยบ ผมคิดว่า $type ของ mp3 ไม่น่าจะใช่ ".mp3" condition if($type !== ".mp3") เลยเป็นจริงตลอดนะครับ
|
|
|
|
|
Date :
2011-07-03 01:14:57 |
By :
Nautilus |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ยังไงดีคะ ลองหลายแบบแล้ว ก็ยังไม่ได้เลย
|
|
|
|
|
Date :
2011-07-03 01:34:13 |
By :
nokz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอบความคิดเห็นที่ : 4 เขียนโดย : nokz เมื่อวันที่ 2011-07-03 01:34:13
รายละเอียดของการตอบ ::
Code (PHP)
ความคิดเห็นของผมข้างบนมันผิดนิดนึงน่ะครับลองแก้ตามดูว่าหายไม๊
<?
include("connect.php");
$forum_id =$_GET['forumid'];
$subject =$_POST['subject'];
$post_detail =$_POST['post_detail'];
$user_id =$_SESSION['user_id'];
//$attach_file =$_FILES['attach_file']; // ตัวนี้มนรับค่าไม่สมบูรณ์น่ะครับ
$attach_filename=$_FILES['attach_file']['name']; // ชื่อไฟล์
$attach_type = substr($_FILES['attach_file']['name'],-4,4); // ตัวนี้ตัดเอา ".mp3" จากชื่อไฟล์น่ะครับ
$attach_filetype=$_FILES['attach_file']['type']; // ประเภทไฟล์
$attach_file=$_FILES['attach_file']['tmp_name']; // ไฟล์ที่อัพโหลดมา ถูกพักในโฟลเดอร์ temp ของ windows ก่อน
$song_name =$_POST['song_name'];
$singer_name =$_POST['singer_name'];
$date_post =date("Y-m-d H:i:s");
if (empty($subject) || empty($post_detail) || empty($song_name) || empty($singer_name))
{
echo "<script> alert ('กรุณากรอกข้อมูลให้ครบถ้วน') ; history.back();</script>";
exit();
}
if (empty($attach_filename))
{
echo "<script> alert ('กรุณาเพิ่มเพลง') ; history.back();</script>";
exit();
}
//$path="song/";
if(($attach_filetype!= "audio/mpeg") || ($attach_type != ".mp3"))
{
echo "<script> alert ('กรุณาเลือกไฟล์ mp3') ; history.back();</script>";
exit();
}
//$upload=copy($attach_file,"song/".$attach_filename);
if (copy($attach_file,"song/".$attach_filename);)
{
$sql="INSERT INTO webboard_post(question_id ,forum_id,subject ,post_detail ,user_id,attach_file ,count_view ,song_name,singer_name,date_post)VALUES
('$forum_id','$subject', '$post_detail','$user_id','$attach_filename','0', '$song_name', '$singer_name','$date_post')";
$mysql = mysql_db_query($db,$sql);
if($mysql)
{
echo "<script> alert ('เพิ่มกระทู้เรียบร้อยแล้ว') ; window.location='webboard_admin.php'</script>";
}
else
{
echo "เพิ่มกระทู้ไม่สำเร็จ กรุณาตรวจสอบ Query String ของคุณ";
}
}
else
{
echo "อัพโหลดไฟล์ไม่สำเร็จ";
}
?>
แล้วถามต่อนิดนึงครับ โค้ดที่คุณเอามาให้ดู นอกจาก alert ตัวนี้แล้ว มันอัพโหลดบ้างรึยัง
หรือยังมี alert ตัสอื่นอีกไม๊
|
ประวัติการแก้ไข 2011-07-03 09:25:13 2011-07-03 09:31:01
|
|
|
|
Date :
2011-07-03 09:24:30 |
By :
mangkunzo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ยังแก้ไม่ได้เลยค่ะ
|
|
|
|
|
Date :
2011-07-03 21:01:30 |
By :
nokz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองวิธีผมมั้ยครับ คือใช้ ฟังค์ชั่น list() แล้ว explode นามสกุลไฟล์ออกมาแล้วเขียนโค้ด ตรวจสอบอีกที
ตัวอย่างนะคับ
Code (PHP)
if($_FILES['images']['name']!=""){
if (is_uploaded_file($_FILES['images']['tmp_name'])) {
$ndate = date("U");
$imgtype = $_FILES['images']['name'];
list($name,$type) = explode(".",$imgtype);
$imgname = "$ndate.$type";
//echo $type;
if(($type=="jpg") || ($type=="gif") || ($type=="jpeg")){
move_uploaded_file($_FILES['images']['tmp_name'],"upload_images/".$imgname);
}else{
echo "<center><font color=red><b>File Not Images</b></font></center>";
echo "<a href=javascript:history.back();><center>Back</center></a>";
exit();
}
}
}
ลองดูคับ
|
|
|
|
|
Date :
2011-07-03 21:37:04 |
By :
Necrotorture |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณทุกท่านมากค่ะ
ตอนนี้ได้แล้วค่ะ แต่ยังไม่ค่อยเข้าใจโค้ดบางส่วน ส่วนที่ไฮไลท์ไว้ค่ะ รบกวนผู้รู้ช่วยอธิบายให้หน่อยได้มั้ยคะ
พอดีไปเจอในเว็บมา เลยลองก็อบมา ก็ใช้ได้ค่ะ แต่ไม่ค่อยเข้าใจ
Code
<?
include("connect.php");
$forum_id =$_GET['forumid'];
$subject =$_POST['subject'];
$post_detail =$_POST['post_detail'];
$user_id =$_SESSION['user_id'];
//$attach_file =$_FILES['attach_file'];
$song_name =$_POST['song_name'];
$singer_name =$_POST['singer_name'];
$date_post =date("Y-m-d H:i:s");
$tmp_file =$_FILES['attach_file']['tmp_name'];
$attachfile =$_FILES['attach_file']['name'];
if (empty($subject) || empty($post_detail) || empty($song_name) || empty($singer_name))
{
echo "<script> alert ('กรุณากรอกข้อมูลให้ครบถ้วน') ; history.back();</script>";
exit();
}
if (empty($attach_file))
{
echo "<script> alert ('กรุณาเพิ่มเพลง') ; history.back();</script>";
exit();
}
$path="song/";
if ($attach_file!=""){
if($types = getimagesize($attach_file))
{
[glow=red] if($type[2] == 1)[/glow]
{
$music = $dt.".gif";
}
[glow=red]if($type[2] == 2)[/glow]
{
$music = $dt.".jpg";
}
[glow=red] if($type[2] == 3)[/glow]
{
$music = $dt.".png";
}
echo "<script> alert ('ไม่สามารถโพสต์ได้ เนื่องจากไม่ได้เลือกไฟล์เพลง') ; history.back();</script>";
$attach_file!="";
} else {
$upload=copy($attach_file,"$path".$attachfile);
if ($upload) {
$sql="INSERT INTO webboard_post(question_id ,forum_id,subject ,post_detail ,user_id,attach_file ,count_view ,song_name,singer_name,date_post)VALUES
('$forum_id','$subject', '$post_detail','$user_id','$attach_filename','0', '$song_name', '$singer_name','$date_post')";
$mysql = mysql_db_query($db,$sql);
{
echo "<script> alert ('เพิ่มกระทู้เรียบร้อยแล้ว') ; window.location='webboard_admin.php'</script>";
} } }
}
?>
|
ประวัติการแก้ไข 2011-07-03 21:47:31 2011-07-03 21:48:17 2011-07-03 21:48:47 2011-07-03 21:49:40 2011-07-03 21:50:58
|
|
|
|
Date :
2011-07-03 21:46:59 |
By :
nokz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|