หน้าแรก
 การบ้าน
  C/C++ new
  Java new
 Sourcecode.TV
  Android
  Blackberry
  C/C++
  Java
  Linux
  Windows Phone
  แจ้งเรื่องที่ต้องการ
 บทความ
  .NET
  Android
  Blackberry
  C++Builder
  Delphi
  Java
  Mobile
  Open Source
  Pocket PC
  Visual Basic
  Web
  Windows Phone
  Others
 แบบเรียนฟรี
  ASP
  ASP.NET Webmatrix
  C++
  eVB
  J2ME
  Java
  PHP
 ซอร์สโค้ด
  Android
  ASP
  C++
  VC++
  CGI-Perl
  Delphi
  Java
  jQuery
  PHP
  Visual Basic
  .NET
 บริการจากเรา
  เปิดท้าย... ขายโค้ด
  DoodeeHosting
  รับออกแบบ พัฒนาเว็บไซต์
  Freeware
  อัตราค่าโฆษณา
  รายชื่อลูกค้า
  สถิติผู้เข้าเว็บ
 ดาว์นโหลด
 ค้นหาข้อมูล
 กระดานสนทนา
  .NET
  C/C++
  Delphi
  Java
  Palm/PocketPC
  Visual Basic
  Web
  อื่นๆ
 กระดานงาน
 ลิงค์เว็บ
 เกี่ยวกับผม
 อัตราค่าโฆษณา
Social Network

Facebook  Twitter  YouTube
 New Article
 Webboard
 Freelanceboard
Freeware
โปรแกรมเบอร์ดี (BerDee)
โปรแกรมเบอร์ดี (Android)
เกมส์เป่ายิ้งฉุบ
เกมส์เป่ายิ้งฉุบ(Android)
WebcamMonitor
WebcamMonitor(Windows)
scSendMail
scSendMail(Windows)
MSN Caption
MSN Caption(Windows)
  Freelance comment
  ติดต่อสอบถามเข้ามาได้นะคับ
งานเล...

2014-01-06 12:47:38
  ถ้ายังหาคนสอนไม่ได้ ก็ลองศึกษาเองได...
2013-07-06 01:04:37
  สนใจส่งขอบเขตมาคุยราคาก่อนได้นะคับ...
2013-03-24 18:54:20
  ถ้ายังไม่มีคนรับงานติดต่อได้ครับ 08...
2012-12-16 19:18:14
  สนใจคะ ติดต่อ 0905076277...
2012-11-12 11:07:46
  รับทำโปรเจ็คนักศึกษาหรือบริษัท
ส...

2012-10-29 03:10:46
  sukit_te34@hotmail.com...
2012-10-29 03:09:36
  ประสบการ เคยขอมูลจาก BCAcount ครับส...
2012-10-11 20:47:33
  มีคนรับงานไปทำหรือยังครับ
อยากทร...

2012-09-28 15:50:58
  รับเขียนโปรแกรมด้วย MATLAB , c# , v...
2012-08-12 12:03:59
  Webboard comment
  ลืมบอกไปว่าต้อง export SQL ...
2014-07-26 13:53:32
  รบกวนลองศึกษาจากข้อมูลเว็บ<...
2014-07-20 14:17:55
  เดาผิดไปเยอะครับ ส่วนแสดงข้...
2014-07-06 20:27:06
  จากโค๊ดข้างบน อาจจะดูไม่รู้...
2014-07-06 19:56:28
  โค๊ดนี้เป็นโค๊ด Chat Server...
2014-07-06 19:50:58
  อีกสิ่งนึงที่ผม แอะใจก็คือ ...
2014-07-06 15:24:19
  จากคำถามทำให้ผมทราบว่าพื้นฐ...
2014-07-05 23:51:38
  ช่วยอธิบายหน่อยได้ไหมครับ ผ...
2014-07-05 18:01:06
  ถ้าคุณสร้าง Project เป็น co...
2014-07-05 15:23:59
  คุณ "maddog" ช่วยบอกหน่อยได...
2014-07-05 11:08:07
  Homework comment
  ใช่ java ในการทำนะครับ
คำสั...

2014-03-06 19:14:16
  อยากทราบว่าถ้าจะหาค่าฟฟ้าในแต่...
2014-02-18 20:24:57
  โอเคค่ะ ขอบคุณมากๆนะคะ...
2014-01-27 09:09:03
  amount = change / 10; คือการหา...
2014-01-25 00:19:03
  หนูอยากทราบว่า โปรแกรมทอนเงิน ...
2014-01-24 09:16:20
  ตอบ ความคิดเห็น #11

ง่า...

2014-01-18 14:48:59
  เฉลย เเบบ นี้ให้หน่อยครับ<b...
2014-01-14 16:27:57
  ปกติ การเขียนโปรแกรม ควรทำเป็น...
2013-12-27 15:31:56
  ทำเป็น flowchart ยังไงครับ งง?...
2013-12-26 20:33:11
  ตอบ ความคิดเห็นที่ #3
เฉลยค...

2013-12-21 13:38:51
  Article comment
  ขึ้นอยู่กับ API ที่ทางผู้ให้บ...
2014-05-03 09:51:29
  อยากเห็น version ที่ส่ง ภาษาไท...
2014-04-30 16:05:06
  เป็นเพราะ windows ทั้ง 2 มันแต...
2014-04-10 16:44:18
  อันนี้ไม่ค่อยทราบ แต่ลองเอาไป ...
2014-04-10 16:39:28
  รบกวนสอบถามค่ะ คือทำ windows s...
2014-04-10 10:40:36
  ขอสอบถามเกี่ยวกับการทำ windows...
2014-04-10 10:21:41
  สั่งได้ผ่าน shell ครับ โค้ดจำไ...
2014-03-23 03:32:53
  รบกวนขอความรู้หน่อยนะคับ ไม่ทร...
2014-03-21 14:47:47
  มีโค้ดเป็น c++ คล้ายๆกันไปศึกษ...
2014-01-18 15:30:02
  อยากได้โค้ด รับค่า 5 ค่า โดยแ...
2014-01-08 10:23:57
  9Mcode comment
  อยากได้...
2014-02-21 08:52:19
ZengCode.com
Quick IT Solution

Link Exchange

อัตราค่าโฆษณา
Statistics of Sourcecode in Thailand
 
Upload File ด้วย PHP (อ่าน 115,590)
ศุภกิจ ทองดี (9'M)
บทความโดย 9M / webmaster@sourcecode.in.th  


- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

 
 
Freelanceรับพัฒนาโปรแกรม และเว็บ โดย 9'M 

สำหรับคราวนี้ เราจะดูวิธีการในการ Upload File โดยใช้ PHP ซึ่ง ก็เป็นเรื่องง่ายมากครับ และในตัวอย่างนี้ผมใช้ Run กะ IIS บน WindowsXP Professional ซึ่งได้ทำการลง PHP Version 4.3.0 ซึ่ง Download มาจาก www.php.net และสำหรับเพื่อนๆที่ได้ใช้ Windows ตัวอื่นๆ สามารถ อ่านวิธีการติดตั้ง ได้จาก บทความ ที่ผ่านมาของผมครับ (ติดตั้ง PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3), ติดตั้ง PHP 4 บน WINDOWS 2000) แต่สำหรับผู้ใช้ WindowsXP ก็มีวิธีคล้ายกัน ที่เพิ่มเข้ามาก็คือ ให้เข้าไปแก้ไฟล์ php.ini ในหัวข้อ cgi.force_redirect = 0 ครับ ต่อจากนั้นก็ให้ทดสอบ โดยใช้วิธีการทดสอบเดียวกันกับ ติดตั้ง PHP 4 บน WINDOWS 2000 ครับ โดยใช้เพียง function phpinfo(); ในการทดสอบครับ ดังตัวอย่างด้านล่าง

test.php

<?php
     phpinfo();
?>

สำหรับการปรับแต่งการ Upload สามารถปรับเปรียนได้ที่ไฟล์ php.ini โดยดูที่

file_uploads = On

และสำหรับ upload_tmp_dir = จะเป็นการกำหนด path ที่ใช้เป็น Temp เก็บไฟล์ไว้ชั่วคราวเท่านั้น โดยไฟล์ต่างๆ ที่เรา upload มาแล้วจะถูกเก็บไว้ใน Path นี้ ไว้ไม่นาน ก็จะถูกลบโดยอัตโนมัติครับ , ค่าของ upload_tmp_dir นี้ เราไม่ต้องกำหนด ก็ได้ครับ เพราะมันจะใช้ Temp ที่มีในระบบ OS นั้นๆครับ

upload_max_filesize จะเป็นการกำหนด ขนาดของไฟล์สูงสุดที่ สามารถรับได้

เอาละครับงานนี้เรามาดูส่วนของไฟล์ html ที่จะทำหน้าที่เป็นตัว Post ข้อมูลไปยังไฟล์ php โดยมีโค้ดดังนี้

upload.html

<html> 
<form action="upload.php" method=post enctype="multipart/form-data">
File: <input type=file name="userfile"><br>
<input type=submit><br>
</form>
</html>

โดยส่วนที่สำคัญ ก็คือส่วนของ enctype="multipart/form-data" และ name="userfile" โดย ส่วนแรกจะเป็นการบอกว่ามีการ ส่งทั้ง ข้อมูลที่เป็นข้อความ และ ที่เป็นไฟล์ครับ ,ส่วนหลังจะเป็นการกำหนดชื่อของ Input ที่ส่งไป ครับ

ตอนนี้ ก็มาถึงเรื่องไฟล์ php ที่เราจะใช้ในการรับ และ จัดการกับ ไฟล์ที่ส่งมา โดยมีโค้ดดังตารางด้านล่าง

upload.php

<?php
$realname = $HTTP_POST_FILES['userfile']['name'];
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name']))
{
copy($HTTP_POST_FILES['userfile']['tmp_name'], "./upload/$realname"); echo "Upload Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
else{
echo "Upload not complete";
}
?>

***ก่อนเราจะทำการทดสอบโค้ด ให้คุณ สร้าง โฟล์เดอร์ upload ไว้ที่ๆเดียวกับที่คุณเก็บไฟล์ php นะครับ

จากโค้ดข้างต้น จะเป็นการเก็บชื่อไฟล์ที่เรา upload มา เก็บไว้ในตัวแปร $realname จากนั้นจะเป็นการตรวจสอบว่า ในข้อมูลที่ส่งมา (ผ่าน การ Post ) มีไฟล์มาด้วยหรือ ไม่ ถ้าไม่ ก็ให้แสดงข้อความว่า Upload not complete แต่ หากว่า มีการส่งไฟล์มาด้วย ก็จะทำการ คัดลอกไฟล์ดังกว่า ด้วยการใช้ function copy คัดลอกไปไว้ใน โฟล์เดอร์ upload โดยมีชื่อไฟล์ เป็นชื่อเดิมของไฟล์ที่ส่งมา หลังจากนั้นก็แสดงข้อความ Upload File : และชื่อไฟล์ที่ได้รับ

ทิ้งทาย

หากว่าคุณไม่สามารถใช้ $HTTP_POST_FILES ได้ ให้คุณทำการเพิ่มโค้ด

global $HTTP_POST_FILES;

ไว้เป็นบรรทัดแรกของโปรแกรม และสำหรับ ฟังก์ชั่น is_uploaded_file นั้นจะใช้ได้ตั้งแต่ PHP 3>= 3.0.17 และ PHP 4 >= 4.0.3 ครับ แล้วพบกันใหม่กับ 9M

 

- - - - - - - - - - - - - - ผู้ให้การสนับสนุน- - - - - - - - - - - - - -

สอบถาม
  • ห้ามการโฆษณา หากต้องการติดต่อหาลูกค้า ติดต่อโฆษณาโดยตรงได้ที่ webmaster@sourcecode.in.th
  • ห้ามใช้คำหยาบและคำพูดที่ไม่เหมาะสม
  • ขอสงวนสิทธิหากตรวจพบ ข้อความที่ไม่เหมาะสม ข้อความนั้นจะถูกลบทันที
ชื่อ
อีเมล์
รายละเอียด

 
 
สินค้าจากเรา
HDMI เข้า 3 ออก  1 มีรีโมท ราคา500บาท
คลิปสอนเขียนโปรแกรม
เรียนเขียนโปรแกรมดอทเน็ต
เรียนเขียนโปรแกรมแอนดรอยด์
เรียนเขียนโปรแกรมเบล็คเบอร์รี่
เรียนเขียนโปรแกรมซี ซีพลัสพลัส
เรียนเขียนโปรแกรมจาวา
เรียนการใช้งานลินุกส์
เรียนการเขียนโปรแกรมวินโดว์โฟน
เรียนการเขียนโปรแกรมพีเฮชพี มายเอสคิวเอล
9M Blog บอกเล่าเรื่องราว การเขียนโปรแกรมของ นายเอ็ม
บริการ ถ่ายภาพรับปริญญา
OrmSin.com: ขายหนังสืองานฝีมือไทย-ญี่ปุ่น-จีน (country crafts)
อัตราค่าโฆษณา
 
บทความที่เกี่ยวข้อง

เริ่มต้นพัฒนาเว็บ PHP ด้วย XAMPP

เริ่มต้น Ajax ด้วยการสร้างนาฬิกา

แสดง Drive ของฝั่ง Client ด้วย JavaScript

เลือก Download รูปภาพด้วย ADODB Stream

Downlod หน้าเว็บ ของเว็บอื่น ด้วย ASP

สร้างภาพ Jpeg แบบ Dynamic ด้วย PHP

แสดงรายชื่อ Folder และ File ฝั่ง Server ด้วย ASP

ติดตั้ง PHP 4 บน WINDOWS 9X, Me และ NT(IIS2 และ IIS3)

เทคนิคการเปลี่ยนใช้ภาษาไทยกับ Dreamweaver

ติดตั้ง PHP 4 บน WINDOWS 2000
Tutorial
eVB Tutorial
ASP.NET Webmatrix Tutorial
J2ME Tutorial
C++  Tutorial
Java  Tutorial
PHP Tutorial
ASP Tutorial
 
แบบสำรวจ
Freelance รับพัฒนาโปรแกรม

Home - Article - Tutorial - Sourcecode - Dev Handbook - Search - WebBoard - Links - About Us

สงวนลิขสิทธิ์ ห้ามคัดลอก ทำซ้ำ แก้ไข ดัดแปลง ไม่ว่าในรูปแบบใด โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร
เลขทะเบียนพาณิชย์อิเล็กทรอนิกส์จากกระทรวงพาณิชย์: 7100503002000
Copyright 2001 SourceCode.in.th