การ upload file

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
buatong
PHP Jr. Member
PHP Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

การ upload file

โพสต์ที่ยังไม่ได้อ่าน โดย buatong »

case แรก จาก code การทำงานแบ่งเป็น 2 ส่วน
1. จะ insert ข้อมูลการ upload ลงในฐานข้อมูล ซึ่งประกอบด้วย field username, level1 (เก็บรหัสหน่วยงาน), level2(เก็บรหัสแผนก) ,
level3(เก็บรหัสกลุ่ม) , ชื่อ file ที่ upload ถ้าจะเขียน code แทรกใน upload.php จะแทรกไว้ตรงไหน ยังงัยอ่ะคะ ของ guideline หน่อย
2. upload ข้อมูลลงใน folder ด้วยค่ะ

----upload.html-----

โค้ด: เลือกทั้งหมด

<table align="center">
<form enctype="multipart/form-data" action="upload3.php" method="post">
&nbsp;&nbsp;&nbsp;&nbsp;
<tr align="center"><td>
<a href="ethic.doc" target="_blank"><font face="MS Sans Serif, Tahoma, sans-serif" size="-1">ดาวน์โหลดสมุดบันทึกผลงานและคุณงามความดีของข้าราชการ</font></a>
</td></tr>
<input type="hidden" name="MAX_FILE_SIZE" value="855000">
<tr><td><br><font face="MS Sans Serif, Tahoma, sans-serif" size="-1">Upload ไฟล์ข้อมูลผลงานและคุณงามความดี </font></td></tr>
<tr>
<td><input name="userfile" type="file">  <input type="submit" value="ตกลง"></td>
</tr>
</form>
</table>
----upload.php----

โค้ด: เลือกทั้งหมด

<?
include "connect.php";

$uploaddir = 'C:/AppServ/www/ethics/user3/download/';
$uploadfile = $uploaddir.basename($_FILES['userfile']['name']);
//$sql="insert into ethicdata (etfile1) values ('$uploadfile') ";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)){
echo "<br><center>upload ไฟล์เรียบร้อย</center>";
}else{
echo "ไม่สามารถ upload ได้";
}
?>
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41384
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

แทรก ลงไป ตอนที่เรา เช็ค ว่า Upload ได้ แล้ว โดยไม่มี ปัญหา
แล้ว เก็บ ตำแหน่ง ที่ Upload ไป เอามาใส่ sql อีกทีหนึ่ง
แล้วอย่าลืม สั่ง query ด้วยละครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
buatong
PHP Jr. Member
PHP Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย buatong »

ไม่เข้าใจอ่ะคะ ขอโทษด้วยนะคะ อาจไม่ค่อยเก่งเขียนโปรแกรมเท่าไหร่อ่ะคะ :(
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41384
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ไม่เข้าใจ ตรงไหนครับ
เห็น ยกโค้ดมา ผมก็ อธิบายตามโค้ดที่ ยกมาน่ะคับ ลองใส่ การทำงานโค้ดเก่า ดู ครับ ทำความเข้าใจ โค้ดเดิมก่อน ถ้าไม่เข้าใจ ส่วนไหน ก็ ถามต่อได้
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
buatong
PHP Jr. Member
PHP Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย buatong »

ขอบคุณค่ะ ลองไปทำดูแล้ว ตามที่คุณ mindphp แนะนำ(ตามที่เข้าใจ) ไ ด้ดังนี้

Table ที่จัดเก็บ
1. Table personal เก็บ id, id_card, fname, lname, username, password, group_id, root_level1, root_level2, root_level3, root_level4 (root_level1-root_level4 เก็บรหัสหน่วยงาน รหัสแผนก รหัสกลุ่มตามลำดับค่ะ), org_code, member_type
2. Table ethicdata เก็บ id, id_card, etfile1, etfile2 , dateedit, dataname, root_level1, rootlevel2, root_level3, root_level4, org_code ตาราง eticdata ใช้เก็บข้อมูลการ upload ค่ะ

จากที่คุณ mindphp แนะนำ ก็เขียน code ตามข้างล่างนะคะ แต่ไม่ยอม insert ให้อ่ะคะ แล้วไม่ขึ้น error ด้วย ขอถาม 2 ข้อนะคะ
1. code upload.php ผิดตรงไหน ต้องแก้ไข ต้องเพิ่มอะไร ตรงไหนบ้างคะ
2. field id_card, level_root1, level_root2, level_root3, dataname ไม่ได้รับค่ามาจากหน้าแบบฟอร์ม uploadform.php ค่ะ จะเขียน code อย่างไรให้รับค่า
ต้องใช้ select เพื่อดึงจาก table personal หรือป่าวค่ะ เพื่อให้บันทึกลงไปใน table ethicdata ค่ะ
ภาพประจำตัวสมาชิก
buatong
PHP Jr. Member
PHP Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย buatong »

ส่ง code ไปไม่ได้อ่ะคะ ทำงัยดี
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41384
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

upload.php ไม่ ผิดครับ OS ของ Server เป็น อะไร
ส่วน ข้อสอง เขียน มายังไง ง่ะครับ

โค้ด: เลือกทั้งหมด

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)){
// เก็บ ข้อมูล ใส่ ตารางทีต้องการ <--------------
}else{
echo "ไม่สามารถ upload ได้";
} 
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
buatong
PHP Jr. Member
PHP Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย buatong »

MS window server 2003 ค่ะ

lส่วน code ก็พยายามส่งอยู่ แต่ส่งไม่ได้อ่ะคะ พอคลิกปุ่ม ส่ง แล้วขึ้นหน้าว่าง

-------upload3.php--------

โค้ด: เลือกทั้งหมด

<?
//echo "<h3>Upload file</h3>";
//include "connect.php";
$servername = "localhost";
$dbname = "ethicdb";
$user="ethic";
$password="ethic";
$conn=mysql_connect($servername, $user, $password) or die("ไม่สามารถติดต่อกับ server ได้");
mysql_select_db($dbname, $conn) or die("ไม่สามารถติดต่อกับฐานข้อมูลได้");

$uploaddir = 'C:/AppServ/www/ethics/user3/download/';
$uploadfile = $uploaddir.basename($_FILES['userfile']['name']);

 if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)){
$sql="insert into ethicdata (etfile1) values ('$uploadfile'),";
$result = mysql_query($sql);
if(!result){
echo("execute คำสั่ง sql ไม่ได้");
}
//if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)){
echo "<br><center>upload ไฟล์เรียบร้อย</center>";
}else{
echo "ไม่สามารถ upload ได้";
}
?>
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41384
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

$sql="insert into ethicdata (etfile1) values ('$uploadfile'),";
ลองเช็ค ตาราง ethicdata ว่าต้องการข้อมูล อะไร บ้างที่จำเป็นต้องใส่
เพราะตามที่ยกมาก่อนหน้านี้ ตาราง มันต้องมี ข้อมูลมาก กว่านั้น
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ภาพประจำตัวสมาชิก
buatong
PHP Jr. Member
PHP Jr. Member
โพสต์: 20
ลงทะเบียนเมื่อ: 01/01/1970 7:00 am

โพสต์ที่ยังไม่ได้อ่าน โดย buatong »

ก็ลอง test ดูค่ะ เพราะว่าค่าที่เหลือไม่ได้รับค่ามาจากหน้ากรอกแบบฟอร์ม ตัวที่ไม่ได้รับมาจากหน้าแบบฟอร์ม ก็คือ id_card, root_level1-4 ก็ไม่รู้ว่าจะเอาค่ามายังงัย ไม่รู้จะดึงมาจากฐานข้อมูลยังงัยน่ะค่ะ รู้ว่ามันต้อง select มาแต่ไม่รู้ว่าจะดึงแล้วมาเชื่อมกับ username ที่ login เข้ามายังงัย
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 124