ตัวอย่างง่ายๆกับการอับโหลดไฟล์ด้วย PHP ใครๆก็ทำได้เริ่มจากเปิด notepad ขึ้นมาก็อปปี้โค้ดด้านล่าง
จากนั้นทำการ save เป็นไฟล์ชื่อ upload.php จากนั้นอับโหลดขึ้นโฮส และสร้างโฟร์เดอร์ใหม่ชื่อ images ทำการ chmod เป็น 0777Code:<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Upload A File From A Form</title> </head> <body> <form enctype="multipart/form-data" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="2048000"> File: <input name="userfile" type="file" /> <input type="submit" value="Upload" /> </form> <?php if (@is_uploaded_file($_FILES["userfile"]["tmp_name"])) { copy($_FILES["userfile"]["tmp_name"], "/images/" . $_FILES["userfile"]["name"]); echo " File uploaded successfully.</p>"; }?> </body> </html>
เข้าเว็บเรียกไฟล์ upload.php ขึ้นมาเทส เป็นอันเรียบร้อยใช้ได้แล้วครับ
ฟังค์ชั่นที่สำคัญในสคริปนี้คือคำสั่ง
copy([tmp_name],[name]);
ซึ่งเป็นคำสั่งใช้สำหรับ copy ไฟล์ขึ้นไปไว้บนโฮสของเรานั้นเอง
ขอเสริมอีกเรื่อง เมื่อคุณอับโหลดรูปขึ้นไปยังไม่มีการกำหนดสิทธิ์ใหม่ ให้ไฟล์คุณควรกำหนดสิทธิ์ใหม่ให้กับไฟล์ที่คุณอับโหลดไปด้วยซึ่งในตัวอย่างด้านบนยัง
ม่ได้ใส่ไปครับให้คุณเพิ่มคำสั่งดังนี้ลงไป
copy($_FILES["userfile"]["tmp_name"], "/images/" . $_FILES["userfile"]["name"]);
chmod("/images/" . $_FILES["userfile"]["name"],0777);
//คำสั่งที่เพิ่มเติมเข้ามาเพื่อกำหนดสิทธิ์การเข้าถึงไฟล์แค่นี้คุณก็จะเปลี่ยนสิทธิ์ของไฟล์เพื่อเข้าไปแก้ไขหรือลบทิ้งได้ภายหลังครับ สำคัญมากนะครับตอนที่ทำการเบ็คอับข้อมูลหากไม่มีการกำหนดสิทธิ์ใหม่ให้ไฟล์ให้แก้ไขไ
้ อาจจะเกิดปัญหาย้ายไฟล์เพื่อทำการเบ็คอับไม่ได้
เพิ่มเติมนิดนึงครับเกี่ยวกับ permissions
บทความสั้นโดย thainetdev.comCode:Read and write for owner, nothing for everybody else chmod("/somedir/somefile", 0600); // Read and write for owner, read for everybody else chmod("/somedir/somefile", 0644); // Everything for owner, read and execute for others chmod("/somedir/somefile", 0755); // Everything for owner, read and execute for owner's group chmod("/somedir/somefile", 0750);


Reply With Quote
