|
3 ฟังก์ชั่น PHP ที่จะทำให้คุณจัดการเรื่องพาทได้ง่ายขึ้น [basename(), dirname(), pathinfo()] |
ทำความรู้จัก basename(), dirname(), pathinfo() 3 ฟังก์ชั่น ของ PHP ที่อาจทำให้คุณหายปวดหัวเกี่ยวกับการจัดการพาทของไฟล์ได้ง่ายๆ ตอนเริ่มศึกษา PHP ใหม่ หลายๆคนคงจะต้องพบเจอกับ การเขียนโค้ดการอัพโหลดไฟล์ และเก็บชื่อไฟล์ หรือพาทของไฟล์ ลงในฐานข้อมูล ซึ่งส่วนมาก เราจะใช้ฟังก์ชั่นต์เกี่ยวกับข้อความเข้ามาแก้ไขปัญหานี้ สำหรับมือใหม่อาจจะต้องลองผิดลองถูกอยู่นานซักหน่อย แต่ปัญหานั้นคงจะไม่เกิดขึ้น หากเรามารู้จักกับฟังก์ชั่นต์ basename(), dirname() และ pathinfo() กันซะก่อน มาดูกันว่ามันทำอะไรได้บ้าง
basename()
รูปแบบ
string basename ( string $path [, string $suffix ] )
การทำงานของมันคือ หาข้อความสุดท้ายหรือทางขวาสุดที่อยู่ใกล้เครื่องหมาย ( / ) หรือ ( \ ) ภายในพาท และคืนค่าเป็นสตริงกลับมาให้ เหมาะสำหรับหาชื่อไฟล์เป็นอย่างยิ่ง หรือจะใช้หาชื่อไดเรกทอรีก็ยังได้ โดยจะส่งพารามิเตอร์ไปให้มันได้ 2 ตัว คือ
- $path คือ พาทที่เราต้องการให้ค้นหา
- $suffix คือ ส่วนท้ายที่ต้องการตัดเอง มีหรือไม่มีก็ได้
ตัวอย่าง
<?php
echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL;
echo "2) ".basename("/etc/passwd").PHP_EOL;
echo "3) ".basename("/etc/").PHP_EOL;
echo "4) ".basename(".").PHP_EOL;
echo "5) ".basename("/");
?>
ผลลัพธ์
1) sudoers
2) passwd
3) etc
4) .
5)
dirname()
รูปแบบ
string dirname ( string $path )
การทำงานของมันจะเลือกตรงข้ามกับ basename() คือ หาข้อความแรกหรือทางซ้ายสุดที่อยู่ใกล้เครื่องหมาย ( / ) หรือ ( \ ) ภายในพาท และคืนค่าเป็นสตริงกลับมาให้ เหมาะสำหรับหาชื่อไดเรกทอรี บนสุด ที่อยู่ในพาทที่ต้องการ มีพารามิเตอร์ คือ
- $path คือ พาทที่เราต้องการให้ค้นหา
ตัวอย่าง
<?php
echo "1) " . dirname("/etc/passwd") . PHP_EOL;
echo "2) " . dirname("/etc/") . PHP_EOL;
echo "3) " . dirname("."); //
?>
ผลลัพธ์
1) etc
2) / หรือ \ บน วินโดว์
3) .
pathinfo()
รูปแบบ
mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] )
ฟังก์ชั่นต์นี้ค่อนข้างครบเครื่องกว่า 2 ฟังก์ชั่นต์ที่ผ่านมา เนื่องจากหารายละเอียดของพาทได้เกือบทั้งหมด โดยจะคืนค่ากลับมาให้เป็นอาเรย์ โดยมีพารามิเตอร์ คือ
- $path คือ พาทที่เราต้องการให้ค้นหา
- $options คือ ตัวเลือกเพิ่มเติม มีหรือไม่มีก็ได้
ตัวอย่าง
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n"; // PHP 5.2.0 ขั้นไป
?>
ผลลัพธ์
/www/htdocs/inc
lib.inc.php
php
lib.inc
*ตัวอย่างโค้ดนำมาจากเว็บไซต์ php.net basename(), php.net dirname(), php.net pathinfo()
Reference : http://www.php.net/manual/en/index.php
|
|
|
By : |
13ankster
|
|
Article : |
บทความเป็นการเขียนโดยสมาชิก หากมีปัญหาเรื่องลิขสิทธิ์ กรุณาแจ้งให้ทาง webmaster ทราบด้วยครับ |
|
Score Rating : |
|
|
Create Date : |
2012-04-28 |
|
Download : |
No files |
|
Sponsored Links |
|
|
|
|
|
|