อัพโหลดไฟล์แล้วขึ้น Warning: Wrong parameter count for copy()
Code (PHP)
<?
$tv_head= $_POST["tv_head"];
$tv_begin= $_POST["tv_begin"];
$tv_days= $_POST["tv_days"];
$tv_detail= $_POST["tv_detail"];
$tv_img= $_POST["tv_img"];
$tv_pdf= $_POST["tv_pdf"];
$tv_show= $_POST["tv_show"];
$now = date("dnyHi");
$t_img = substr($_FILES['tv_img']['name'],-4);
$new_img="tvimg".$now.$t_img;
$t_pdf = substr($_FILES['tv_pdf']['name'],-4);
$new_pdf="tvpdf".$now.$t_pdf;
if(copy($_FILES[$new_img]["tmp_name"],"img_tv/".$_FILES[$new_img]["name"] and $_FILES[$new_pdf]["tmp_name"],"pdf_tv/".$_FILES[$new_pdf]["name"]))
{
echo "Copy / Upload Complete<br>";
include "../connect.php";
$str = "INSERT INTO adm_travel ";
$str .="(`tv_id` ,`tv_head` ,`tv_detail` ,`tv_begin` ,`tv_days` ,`tv_img` ,`tv_pdf` ,`tv_show`) VALUES ('null','$tv_head','$tv_detail','$tv_begin','$tv_days','".$_FILES[$new_img]["name"]."','".$_FILES[$new_pdf]["name"]."','$tv_show')";
$qur = mysql_query($str);
}
?>
อยากทราบว่า การเขียนโค๊ดลักษณะนี้มันถูกไหม หรือถ้าผิดยังไง ช่วยชี้แนะด้วยค่ะ
ขอบคุณคะ่Tag : PHP, MySQL, HTML/CSS, jQuery
Date :
2012-10-20 11:59:56
By :
sajok
View :
1172
Reply :
4
ผิดตรงนี้ครับ
if(copy($_FILES[$new_img]["tmp_name"],"img_tv/".$_FILES[$new_img]["name"] and $_FILES["tv_pdf"]["tmp_name"],"pdf_tv/".$_FILES[$new_pdf]["name"]))
ฟังก์ชั่น copy จะได้ครั้งละ 1 คำสั่ง คือ
copy($_FILES["tv_img"]["tmp_name"],"img_tv/".$_FILES[$new_img]["name"]
และ
copy($_FILES["tv_pdf"]["tmp_name"],"pdf_tv/".$_FILES[$new_pdf]["name"]
หากต้องการใช้เงื่อนไขเช็ค ลองแบบนี้ครับ
if( (copy($_FILES["tv_img"]["tmp_name"],"img_tv/".$_FILES[$new_img]["name"]) && (copy($_FILES["tv_pdf"]["tmp_name"],"pdf_tv/".$_FILES[$new_pdf]["name"])) {
............................//คำสั่งที่ต้องการให้แสดง หรือทำ
}
และอีกอย่างที่ผิดนะครับ การใช้คำสั่งอัพโหลด รูปภาพหรือไฟล์ต่างๆที่จะอัพโหลดนั้น ต้องเป็นไฟล์ tmp_name ที่อัพโหลดไปจริงๆ ไม่ใช่ไฟล์ที่ทำการเปลี่ยนชื่อโครงสร้างฟังก์ชั่นคือ
copr("ไฟล์ที่อัพโหลด(tmp)","โฟลเดอร์ที่ต้องการเก็บ+ชื่อไฟล์โดยอาจจะมีการเปลี่ยนชื่อ")
ไม่รุพอจะเข้าใจรึป่าวนะครับ
Date :
2012-10-20 13:39:26
By :
arm8957
เซ็ต Permission ของโฟล์เดอร์ที่เก็บรูปภาพชื่อ img_tv ให้เป็น 777 ครับ
Date :
2012-10-20 15:27:22
By :
arm8957
ขอบคุณค่ะ
Date :
2012-10-22 09:52:01
By :
sajok
Load balance : Server 01