การ upload file

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

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

User avatar
buatong
PHP Jr. Member
PHP Jr. Member
Posts: 20
Joined: 01/01/1970 7:00 am

การ upload file

Postby buatong » 18/09/2007 11:15 pm

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

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

Code: Select all

<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----

Code: Select all

<?
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 ได้";
}
?>

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21801
Joined: 22/09/2008 6:18 pm
Contact:

Postby mindphp » 18/09/2007 11:34 pm

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

User avatar
buatong
PHP Jr. Member
PHP Jr. Member
Posts: 20
Joined: 01/01/1970 7:00 am

Postby buatong » 19/09/2007 1:25 am

ไม่เข้าใจอ่ะคะ ขอโทษด้วยนะคะ อาจไม่ค่อยเก่งเขียนโปรแกรมเท่าไหร่อ่ะคะ :(

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21801
Joined: 22/09/2008 6:18 pm
Contact:

Postby mindphp » 19/09/2007 1:42 am

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

User avatar
buatong
PHP Jr. Member
PHP Jr. Member
Posts: 20
Joined: 01/01/1970 7:00 am

Postby buatong » 19/09/2007 5:33 pm

ขอบคุณค่ะ ลองไปทำดูแล้ว ตามที่คุณ 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 ค่ะ

User avatar
buatong
PHP Jr. Member
PHP Jr. Member
Posts: 20
Joined: 01/01/1970 7:00 am

Postby buatong » 19/09/2007 5:35 pm

ส่ง code ไปไม่ได้อ่ะคะ ทำงัยดี

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 21801
Joined: 22/09/2008 6:18 pm
Contact:

Postby mindphp » 19/09/2007 5:40 pm

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

Code: Select all

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
หมวดแชร์ความรู้: viewforum.php?f=29
รับอบรม และพัฒนาระบบ: viewtopic.php?f=6&t=2042

User avatar
buatong
PHP Jr. Member
PHP Jr. Member
Posts: 20
Joined: 01/01/1970 7:00 am

Postby buatong » 19/09/2007 6:11 pm

MS window server 2003 ค่ะ

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

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

Code: Select all

<?
//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 ได้";
}
?>


Return to “Programming - PHP”

Who is online

Users browsing this forum: Google [Bot] and 64 guests