ลอง Script ของผมหน่อยแล้วกันนะ
อันแรกคือแบบ Form สำหรับ Upload นะครับ (index.html)
- Code: Select all
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=windows-874">
<TITLE>แบบฟอร์ม Upload ไฟล์</TITLE></HEAD>
<BODY>
<FORM METHOD="POST" ACTION="upload.php" ENCTYPE="multipart/form-data">
<H3>ทดสอบการ Upload ไฟล์</H3>
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
<INPUT TYPE="file" NAME="fileupload"><P>
<INPUT TYPE="submit" VALUE="Upload ไฟล์">
</FORM>
</BODY>
</HTML>
ขออธิบายรายละเอียดการทำงานหน่อยนะครับ- Code: Select all
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
จะเห็นว่า Input ของแบบฟอร์มนี้ จะระบุขนาดของไฟล์มากที่สุดที่สามารถอัพโหลดขึ้นไปได้ ซึ่งถ้าขนาดของไฟล์มากกว่าทีกำหนดไว้ จะไม่สามารถอัพโหลดได้ครับ
อย่างเช่นในตัวอย่าง ผมใส่ไป 1,000,000 ไบต์ ครับ
---------------------------------------------------------
ต่อไป เรามาดูสคริปที่ทำหน้าที่ Upload ไฟล์กันดีกว่าครับ (upload.php )- Code: Select all
<?
$fileupload=$_FILES['fileupload']['tmp_name'];
$fileupload_name=$_FILES['fileupload']['name'];
$fileupload_size=$_FILES['fileupload']['size'];
$fileupload_type=$_FILES['fileupload']['type'];
if ($fileupload) {
$array_last=explode(".",$fileupload_name);
$c=count($array_last)-1;
$lastname=strtolower($array_last[$c]) ;
if ($lastname=="gif" or $lastname=="jpg" or $lastname=="jpeg" or $lastname=="gif" or $lastname=="txt" or $lastname=="rar") {
copy($fileupload,"file/".$fileupload_name);
echo "<h3> Upload เรียบร้อย </h3>";
echo "ที่อยู่ของไฟล์คือ http://localhost/upload/file/$fileupload_name<br><br>";
echo "รูปภาพตัวอย่าง (กรณีเป็นไฟล์ภาพ)<br><br>";
echo "<img src='file/$fileupload_name'>";
} else{
echo "<h3>Upload ไม่ได้</h3>";
}
unlink($fileupload);
} else {
echo "<h3>Upload ไม่ได้</h3>";
}
?>
ขออธิบายการทำงานของสคริปนี้อีกหน่อยแล้วกันครับ- Code: Select all
if ($lastname=="gif" or $lastname=="jpg" or $lastname=="jpeg" or $lastname=="gif" or $lastname=="txt" or $lastname=="rar") {
ตรงส่วนนี้ คือ นามสกุลของไฟล์ ที่สามารถอัพโหลดขึ้นไปได้ แต่ถ้าเราต้องการเพิ่ม ก็สามารถเพิ่มไปได้ โดยก๊อปปี้โค้ด or $lastname=="นามสกุลไฟล์" ไปวางต่อท้ายของ or $lastname=="rar" อ่ะครับ
แต่ข้อควรระวังคือ ไม่ควร เพิ่มนามสกุล พวก php, asp และนามสกุลไฟล์ที่เป็นพวก webscript นะครับ ไม่งั้น คุณโดน hack แน่ต่อไปให้มาดูตรงส่วนนี้ครับ- Code: Select all
echo "ที่อยู่ของไฟล์คือ http://localhost/upload/file/
ให้เราเปลี่ยนจาก
http://localhost เป็นเว็บไซต์ของเรานะครับ เช่น
http://www.idatabaseblog
------------------------------------
สุดท้ายครับ ผมขอทวนหลักการทำงานของสคริปนี้นะครับ
1.ต้องมีแบบฟอร์มอัพโหลดชื่อ index.html
2.ต้องมีสคริปไฟล์ที่ทำหน้าที่อัพโหลด upload.php
3.ต้องสร้างโพลเดอร์ที่ชื่อว่า file ขึ้นมาเพื่อรับไฟล์ที่อัพโหลดขึ้นมา
4.ทั้งข้อ 1, 2, และข้อ 3 ควรจะอยู่ในโพลเดอร์ upload เดียวกันทั้งหมด
สุดท้ายของสุดท้ายครับ ขอให้สนุกกับ php นะครับ
มีคำถามอะไรหรือติดขัดตรงไหน ถามมาได้ครับ ยินดีช่วยเสมอ สำหรับชาว WebApplication