หัวข้อ: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้งเดียว เริ่มหัวข้อโดย: rtee ที่ 24 สิงหาคม 2012, 15:53:14 คือ ผมมีฟอร์มที่ให้แนบรูปภาพส่งไปตามฟอร์ม post ได้ด้วย
แล้วพอเข้าไปที่ไฟล์สคริปต์ ก็จะให้บันทึกข้อมูลไฟล์รูปเหล่านี้ โดยให้ duplicate ตัวเองเป็น 2 ไฟล์ และเก็บข้อมูลลงฐานข้อมูลเป็น 2 records ครับ.. อืม เดี๋ยวจะงง เอางี้ เดี๋ยวให้ดูโค้ดนะครับ อันนี้เป็นฟอร์มสำหรับโพสรูปขึ้นไป โค๊ด: <form method="post" action="script.php" enctype="multipart/form-data"> อันนี้เป็นไฟล์สคริปต์ //ข้ามขั้นตอนการติดต่อฐานข้อมูลนะครับ เพราะจะมีอีกไฟล์ทำหน้าที่ติดต่อฐานข้อมูลอยู่แล้ว โค๊ด: <?php แต่ปัญหาก็คือ... ไฟล์ที่ 1 สามารถอัพโหลดได้ปกติ และบันทึกข้อมูลลงฐานข้อมูลได้ปกติ แต่ ครั้งที่ 2 มันเฟล และฟ้องว่า failed to open stream: No such file or directory เลยอยากรู้ว่า มันจะเกี่ยวข้องกับการประกาศตัวแปร $file หรือไม่ครับ ? หัวข้อ: Re: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้งเดียว เริ่มหัวข้อโดย: siammbk ที่ 27 สิงหาคม 2012, 18:16:01 ดูที่ database ก่อนคับว่า ตรง id ได้ตั้งไว้หรือป่าว
และตรง id เนี่ย ได้ตั้งให้เป็น auto_increment หรือป่าว หัวข้อ: Re: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้งเดียว เริ่มหัวข้อโดย: kobkung ที่ 27 สิงหาคม 2012, 22:09:24 เอไม่เคยลองแบบนี้
ลอง echo ค่าออกมาดูว่าครั้งที่ 2 temp ของ file ยังอยู่ไหม $filename = $i."_".$file["name"]; echo $filename; กับ ตัวนี้ $file["tmp_name"] หัวข้อ: Re: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้ เริ่มหัวข้อโดย: icez ที่ 27 สิงหาคม 2012, 22:13:40 // ไม่เกี่ยวกับคำถาม
วิธีย้าย file ที่ upload มาให้ใช้คำสั่ง move_uploaded_file ครับ อย่าใช้ copy เสี่ยงต่อการถูก inject หัวข้อ: Re: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้งเดียว เริ่มหัวข้อโดย: c0untry-m@n ที่ 27 สิงหาคม 2012, 22:41:51 บรรทัดนี้พิมพ์ตกไปหรือเปล่าครับ
โค๊ด: if (copy($file["tmp_name"],"upload/"$filename)){ น่าจะแบบนี้หรือเปล่า แต่ error คนละตัว ไม่น่าเกี่ยวกับคำถามนี้ โค๊ด: if (copy($file["tmp_name"],"upload/".$filename)){ เอาเป็นว่าเผื่อพิมพ์ตกไปจริงๆ ละกันครับ หัวข้อ: Re: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้งเดียว เริ่มหัวข้อโดย: massacre ที่ 28 สิงหาคม 2012, 02:54:30 copy tmp -> file1
copy file1 -> file2 ก็น่าจะได้แล้วครับ หัวข้อ: Re: ถามเรื่องบันทึกข้อมูลลง db 2 ข้อมูลในครั้งเดียว เริ่มหัวข้อโดย: EMINEM ที่ 28 สิงหาคม 2012, 08:30:08 อันนี้ผมมั่วนะครับ :wanwan004: <?php $file1 = $_FILES["file"]; $file2 = $_FILES["file"]; if ($file1["size"]>0) { $filename1 = "1_".$file1["name"]; $filename2 = "2_".$file2["name"]; if (copy($file1["tmp_name"],"upload/"$filename1)&©($file2["tmp_name"],"upload/"$filename2)){ mysql_query("INSERT INTO table (filename) VALUES ('".$filename1."')"); mysql_query("INSERT INTO table (filename) VALUES ('".$filename2."')"); $id = mysql_insert_id(); } } ?> แต่ผมว่า แบบนี้น่าจะดีกว่าครับ copy tmp -> file1 copy file1 -> file2 ก็น่าจะได้แล้วครับ |