สำหรับผู้ที่พัฒนา
Extension บนเว็บบอร์ด
phpbb หรือ การสร้างระบบการทำงานเกี่ยวกับการอัพโหลดไฟล์ php โดยการพัฒนาบนระบบปฏิบัติการ
ubuntu นั้นจะพบปัญหาเกี่ยวกับเรื่องของ ไฟล์ที่อัพเข้ามานั้นมีการติดสิทธิ์ permission ทำให้ไม่สามารถที่นำไฟล์นั้นมาเปิดใช้งาน หรือ หรือการจะนำไฟล์นั้นมาใช้งานต่อในขั้นตอนถัดมาก็ตาม ซึ่งถ้าหากที่จะปลด permission ของ ไฟล์ ไฟล์นนั้นโดยปกติจะต้องเปิดโปรแกรม terminal เพื่อที่จะ chmod folder ที่เกี็บไฟล์นั้นก่อน ซึ่งนอกจะเป็นการเพิ่มขั้นตอนการทำงาน แล้วจะเป็นการยากถ้าหากเป็นส่วนที่จะต้องมีผู้อื่นใช้งานร่วมกันหลายๆคน แต่ทั้งนี้ใน phpbb ก็มีฟังชั่นสำหรับ การ chmod มาเป็นฟั่งชั่น มาตรฐานอยู่แล้ว ซึ่งผู้พัฒนานั้นสามารถที่จะนำมาใช้งานได้เลย โดยขั้นตอนการใช้งาน chmod() มีดังนี้น
1.ลักษณะการรับค่าของฟังชั่น มีดังนี้
โค้ด: เลือกทั้งหมด
function chmod(string $filename, int $mode): bool {}
- จะเห็นว่าในฟั่งชั่น chmod() จะมีการรับค่า 2 ค่า ดังนั้น การส่งค่า ก็จะต้องมีการส่งค่า 2 ค่า เช่นกัน
2.วิธีการส่งค่า โดยถ้าหากเป็นกรณีที่มีการอัพไฟล์เข้ามานั้น จะต้องนำมาต่อในส่งที่เป็นการอัพโหลดไฟล์ไปเก็บในโฟลเดอร์ที่กำหนดไว้ได้สมบูรณืแล้ว จึงค่อยมีการใช้งาน ฟังชั่น chmod()
ตัวอย่างการใช้งาน
$inputFileName = '../images/id_no/phpnsCR8t.xlsx';
-- ค่าเเรกที่ส่งไปนั้นก็คือค่าของไฟล์ โดยจะต้องมีการใส่ตำแหน่งที่จัดเก้บไฟล์ได้ด้วย
-- ค่าที่สอง ก็คือ mode ที่จะต้องการ chmod โดยถ้าเป็นกรณี ปลด permission นั้นจะต้องเป็น 0777
กรณีที่นำไปใช้งานจริง
โค้ด: เลือกทั้งหมด
$upload_file = $request->file('image_pay'); //รับค่าไฟล์ที่อัพโหลด
$tmp_file = $upload_file['tmp_name'];
$name = $upload_file['name'];
preg_match('/(.*)\/(.*)/', $tmp_file, $output_array);
$tmp_file1 = str_replace($output_array['1'], '../images/id_no', $tmp_file); //ปรับเปลี่ยนตำแหน่งการจัดเก็บไฟล์
copy($upload_file['tmp_name'], $tmp_file1 . '.xlsx'); //เพิ่มชนิดให้กับไฟล์
$inputFileName = $tmp_file1.".xlsx";//สร้างตัวแปลขึ้นมาเพื่อเก็บค่าตำแหน่งของไฟล์
chmod($inputFileName, 0777); // chmod โดยถ้าเป็นกรณี ปลด permission
ตัวอย่างการอัพโหลดโดยการไม่ใช้ฟังชั่น chmod() โดยถ้าเป็นกรณี ปลด permission
- PHP Knowledge-1.png (18.3 KiB) Viewed 928 times
ตัวอย่างการอัพโหลดโดยการโดยใช้ฟังชั่น chmod() โดยถ้าเป็นกรณี ปลด permission
- PHP Knowledge-2.png (15.35 KiB) Viewed 928 times
บทความที่เกี่ยวข้อง
วิธีการเขียนโคดเพื่ออัพโหลดไฟล์ เข้าไปในโฟลเดอร์ที่ต้องการพร้อมกับข้อมูลของไฟล์ลงฐานข้อมูล โดยใช้ phpbb
การสร้าง Extension ใน phpbb
การสร้าง controller สำหรับ phpbb
สำหรับผู้ที่พัฒนา [url=https://www.mindphp.com/บทความ/32-phpbb/3211-extension-phpbb.html]Extension[/url] บนเว็บบอร์ด [url=https://www.mindphp.com/บทความ/24-cms-php/157-phpbb-คืออะไร.html]phpbb[/url] หรือ การสร้างระบบการทำงานเกี่ยวกับการอัพโหลดไฟล์ php โดยการพัฒนาบนระบบปฏิบัติการ [url=https://www.mindphp.com/forums/viewtopic.php?f=79&t=37046]ubuntu[/url] นั้นจะพบปัญหาเกี่ยวกับเรื่องของ ไฟล์ที่อัพเข้ามานั้นมีการติดสิทธิ์ permission ทำให้ไม่สามารถที่นำไฟล์นั้นมาเปิดใช้งาน หรือ หรือการจะนำไฟล์นั้นมาใช้งานต่อในขั้นตอนถัดมาก็ตาม ซึ่งถ้าหากที่จะปลด permission ของ ไฟล์ ไฟล์นนั้นโดยปกติจะต้องเปิดโปรแกรม terminal เพื่อที่จะ chmod folder ที่เกี็บไฟล์นั้นก่อน ซึ่งนอกจะเป็นการเพิ่มขั้นตอนการทำงาน แล้วจะเป็นการยากถ้าหากเป็นส่วนที่จะต้องมีผู้อื่นใช้งานร่วมกันหลายๆคน แต่ทั้งนี้ใน phpbb ก็มีฟังชั่นสำหรับ การ chmod มาเป็นฟั่งชั่น มาตรฐานอยู่แล้ว ซึ่งผู้พัฒนานั้นสามารถที่จะนำมาใช้งานได้เลย โดยขั้นตอนการใช้งาน chmod() มีดังนี้น
1.ลักษณะการรับค่าของฟังชั่น มีดังนี้
[code]function chmod(string $filename, int $mode): bool {}[/code]
- จะเห็นว่าในฟั่งชั่น chmod() จะมีการรับค่า 2 ค่า ดังนั้น การส่งค่า ก็จะต้องมีการส่งค่า 2 ค่า เช่นกัน
2.วิธีการส่งค่า โดยถ้าหากเป็นกรณีที่มีการอัพไฟล์เข้ามานั้น จะต้องนำมาต่อในส่งที่เป็นการอัพโหลดไฟล์ไปเก็บในโฟลเดอร์ที่กำหนดไว้ได้สมบูรณืแล้ว จึงค่อยมีการใช้งาน ฟังชั่น chmod()
[b]ตัวอย่างการใช้งาน[/b]
$inputFileName = '../images/id_no/phpnsCR8t.xlsx';
[code]chmod($inputFileName, 0777); [/code]
-- ค่าเเรกที่ส่งไปนั้นก็คือค่าของไฟล์ โดยจะต้องมีการใส่ตำแหน่งที่จัดเก้บไฟล์ได้ด้วย
-- ค่าที่สอง ก็คือ mode ที่จะต้องการ chmod โดยถ้าเป็นกรณี ปลด permission นั้นจะต้องเป็น 0777
[b]กรณีที่นำไปใช้งานจริง[/b]
[code]
$upload_file = $request->file('image_pay'); //รับค่าไฟล์ที่อัพโหลด
$tmp_file = $upload_file['tmp_name'];
$name = $upload_file['name'];
preg_match('/(.*)\/(.*)/', $tmp_file, $output_array);
$tmp_file1 = str_replace($output_array['1'], '../images/id_no', $tmp_file); //ปรับเปลี่ยนตำแหน่งการจัดเก็บไฟล์
copy($upload_file['tmp_name'], $tmp_file1 . '.xlsx'); //เพิ่มชนิดให้กับไฟล์
$inputFileName = $tmp_file1.".xlsx";//สร้างตัวแปลขึ้นมาเพื่อเก็บค่าตำแหน่งของไฟล์
chmod($inputFileName, 0777); // chmod โดยถ้าเป็นกรณี ปลด permission
[/code]
ตัวอย่างการอัพโหลดโดยการไม่ใช้ฟังชั่น chmod() โดยถ้าเป็นกรณี ปลด permission
[attachment=1]PHP Knowledge-1.png[/attachment]
ตัวอย่างการอัพโหลดโดยการโดยใช้ฟังชั่น chmod() โดยถ้าเป็นกรณี ปลด permission
[attachment=0]PHP Knowledge-2.png[/attachment]
บทความที่เกี่ยวข้อง
[url=https://www.mindphp.com/forums/viewtopic.php?f=72&t=63851]วิธีการเขียนโคดเพื่ออัพโหลดไฟล์ เข้าไปในโฟลเดอร์ที่ต้องการพร้อมกับข้อมูลของไฟล์ลงฐานข้อมูล โดยใช้ phpbb[/url]
[url=https://www.mindphp.com/forums/viewtopic.php?f=6&t=51112&p=134162#p134162]การสร้าง Extension ใน phpbb[/url]
[url=https://www.mindphp.com/forums/viewtopic.php?f=6&t=51115&p=134168#p134168]การสร้าง controller สำหรับ phpbb[/url]