ไวยากรณ์:
สตริงเบสเนม (สตริง $path [, สตริง $ต่อท้าย ])
ฟังก์ชันนี้สามารถรับอาร์กิวเมนต์ได้สองอาร์กิวเมนต์ อาร์กิวเมนต์แรกเป็นข้อบังคับและจะใช้ชื่อไฟล์หรือชื่อไฟล์ที่มีพาธเป็นค่าสตริง อาร์กิวเมนต์ที่สองเป็นทางเลือก และใช้เพื่อรับเฉพาะชื่อไฟล์ที่ไม่มีนามสกุล
ตัวอย่างที่ 1: อ่านชื่อไฟล์จากชื่อไฟล์ที่มีอยู่และไม่มีอยู่
ตัวอย่างต่อไปนี้แสดงการใช้ฟังก์ชัน basename() โดยไม่มีอาร์กิวเมนต์ที่เป็นตัวเลือก
สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ ในที่นี้ ฟังก์ชัน basename() ใช้สำหรับไฟล์ที่มีอยู่และไฟล์ที่ไม่มีอยู่ ตรวจสอบ() ฟังก์ชั่นถูกกำหนดเพื่อตรวจสอบว่าไฟล์นั้นมีอยู่หรือไม่ ทั้งคู่ สวัสดี.txt และ world.txt ไฟล์ถูกใช้ในฟังก์ชัน basename() เพื่อค้นหาชื่อไฟล์ที่มีนามสกุล
การทำงานตรวจสอบ($ไฟล์)
{
ถ้า( แฟ้มที่มีอยู่ ($ไฟล์))
โยนออก '$ไฟล์มีอยู่
';
อื่น
โยนออก '$ไฟล์ไม่ได้อยู่.
';
}
//ตั้งชื่อไฟล์ที่มีอยู่
$basepath1 = 'สวัสดี. txt';
ตรวจสอบ($basepath1);
//การใช้ฟังก์ชัน basename() โดยไม่มีพารามิเตอร์เสริม
โยนออก '
ชื่อไฟล์ที่มีนามสกุล is '
. ชื่อฐาน ($basepath1) .' ';//ตั้งชื่อไฟล์ที่ไม่มีอยู่
$basepath2 = 'world.txt';
ตรวจสอบ($basepath2);
//การใช้ฟังก์ชัน basename() โดยไม่มีพารามิเตอร์เสริม
โยนออก '
ชื่อไฟล์ที่มีนามสกุล is '
. ชื่อฐาน ($basepath2) .'';
//การใช้ฟังก์ชัน basename() พร้อมพารามิเตอร์เสริม
โยนออก '
ชื่อไฟล์ที่ไม่มีนามสกุล is '
. ชื่อฐาน ($basepath1,'.txt') .' ';?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเซิร์ฟเวอร์ ผลลัพธ์แสดงให้เห็นว่า สวัสดี.txt มีไฟล์อยู่ในตำแหน่งปัจจุบัน และฟังก์ชัน basename() จะคืนค่าชื่อไฟล์ NS world.txt ไฟล์ไม่มีอยู่ในตำแหน่งปัจจุบัน แต่ฟังก์ชัน basename() ยังคงส่งคืนชื่อไฟล์สำหรับไฟล์นี้ ดังนั้น ฟังก์ชัน basename() จะคืนค่าชื่อไฟล์จากเส้นทางของไฟล์ ไม่ว่าไฟล์นั้นจะมีอยู่หรือไม่ก็ตาม
ตัวอย่างที่ 2: อ่านชื่อไฟล์จากเส้นทางไฟล์
ในตัวอย่างก่อนหน้านี้ เฉพาะชื่อไฟล์เท่านั้นที่ถูกส่งผ่านในอาร์กิวเมนต์แรกของฟังก์ชัน basename() ตัวอย่างนี้แสดงการใช้ฟังก์ชัน basename() เพื่อค้นหาชื่อไฟล์ที่มีนามสกุลและไม่มีนามสกุลจากพาธไฟล์ .php ถูกใช้เป็นค่าอาร์กิวเมนต์ทางเลือกของฟังก์ชัน basename() หากไฟล์ PHP มีอยู่ในเส้นทางของไฟล์ ฟังก์ชัน basename() จะคืนค่าชื่อไฟล์โดยไม่มีนามสกุลจากพาธ
//ตั้งค่าพาธไฟล์
$filepath = 'var / www / html / php / book.php';
//ดึงชื่อไฟล์ที่มีนามสกุล
โยนออก 'ชื่อของไฟล์ที่มีนามสกุลคือ';
โยนออก ชื่อฐาน ($filepath).'
';
//ดึงชื่อไฟล์ที่ไม่มีนามสกุล
โยนออก 'ชื่อของไฟล์ที่ไม่มีนามสกุลคือ';
โยนออก ชื่อฐาน ($filepath,'.php').'
';
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเซิร์ฟเวอร์ เส้นทางที่ใช้ในสคริปต์ ' /var/www/html/php/book.php ' มีไฟล์ PHP และฟังก์ชัน basename() ส่งคืน book.php เมื่อใช้โดยไม่มีอาร์กิวเมนต์ที่เป็นตัวเลือกและส่งคืน หนังสือ เมื่อใช้กับอาร์กิวเมนต์ที่เป็นทางเลือก
ตัวอย่างที่ 3: อ่านชื่อไฟล์จากที่อยู่ URL ด้วยข้อความค้นหา
ตัวอย่างต่อไปนี้แสดงวิธีการใช้ฟังก์ชัน basename() เพื่อดึงชื่อไฟล์จากที่อยู่ URL ที่มีตัวแปรคิวรี
สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ NS ระเบิด() ฟังก์ชันนี้ใช้เพื่อแยก URL และสตริงการสืบค้น ฟังก์ชันนี้จะคืนค่าอาร์เรย์ องค์ประกอบแรกของอาร์เรย์ประกอบด้วย URL และองค์ประกอบที่สองของอาร์เรย์ประกอบด้วยค่าสตริงการสืบค้น ฟังก์ชัน basename() ใช้เพื่อค้นหาชื่อไฟล์จากองค์ประกอบแรกของอาร์เรย์
//ตั้งค่าที่อยู่ URL ด้วยพารามิเตอร์แบบสอบถาม
$url = 'http://localhost/php/customer.php?id=108967';
//ดึงเส้นทางไฟล์จาก URL
$filepath= ระเบิด ('?',$url);
//ดึงชื่อไฟล์ที่มีนามสกุล
โยนออก 'ชื่อของไฟล์ที่มีนามสกุลคือ';
โยนออก ชื่อฐาน ($filepath[0]).'
';
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเซิร์ฟเวอร์ ในที่นี้ชื่อไฟล์คือ ลูกค้า.php .
ตัวอย่างที่ 4: อ่านไดเร็กทอรีและไดเร็กทอรีหลังจากละเว้นไดเร็กทอรีสุดท้ายจากเส้นทาง
สามารถใช้ฟังก์ชัน basename() เพื่อค้นหาชื่อไดเร็กทอรีจากพาธ ใช้ในตัวอย่างต่อไปนี้เพื่อค้นหาชื่อไดเร็กทอรีปัจจุบันและชื่อไดเร็กทอรีก่อนไดเร็กทอรีปัจจุบันจากพาธ
สร้างไฟล์ PHP ด้วยสคริปต์ต่อไปนี้ NS $_SERVER['PHP_SELF'] ใช้ในฟังก์ชัน dirname() เพื่ออ่านพาธแบบเต็มของสคริปต์ปัจจุบัน และฟังก์ชัน basename() ใช้เพื่ออ่านชื่อไดเร็กทอรีที่มีสคริปต์นี้ เมื่อมีการกำหนดเส้นทางเฉพาะในฟังก์ชัน dirname() และใช้ '/' ในอาร์กิวเมนต์ที่สองของฟังก์ชันนี้ พาธจะอ่านพาธไดเร็กทอรีโดยละเว้นชื่อไดเร็กทอรีสุดท้าย ในกรณีนี้ ฟังก์ชัน basename() จะคืนค่าชื่อไดเร็กทอรีหลังจากละเว้นไดเร็กทอรีสุดท้ายจากพาธ
// อ่านไดเร็กทอรีปัจจุบัน
$ ปัจจุบัน_dir = ชื่อฐาน ( dirname ($_SERVER['PHP_SELF']),'/');
//พิมพ์ไดเร็กทอรีปัจจุบัน
โยนออก 'ไดเร็กทอรีการทำงานปัจจุบันคือ: '.$ ปัจจุบัน_dir.'
';
//อ่านไดเร็กทอรีพาเรนต์ของพาธ
$ คุณ = ชื่อฐาน ( dirname ('/ var / www / html / php'),'/');
//พิมพ์ชื่อไดเรกทอรีหลักของเส้นทาง
โยนออก 'ไดเรกทอรีก่อนหน้าของเส้นทางที่กำหนดคือ: '.$ คุณ.' ';
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเซิร์ฟเวอร์
ตัวอย่างที่ 5: อ่านชื่อสคริปต์ปัจจุบัน
สามารถใช้ฟังก์ชัน basename() เพื่ออ่านชื่อสคริปต์ปัจจุบันได้ เมื่อไหร่ __ไฟล์__ ใช้ในอาร์กิวเมนต์แรกของฟังก์ชัน basename() มันจะส่งคืนชื่อไฟล์สคริปต์เป็นเอาต์พุต
// อ่านชื่อสคริปต์ปัจจุบัน
โยนออก 'ชื่อของสคริปต์ปัจจุบันคือ: '. ชื่อฐาน (__ไฟล์__).' ';
?>
เอาท์พุท:
ผลลัพธ์ต่อไปนี้จะปรากฏขึ้นหลังจากเรียกใช้สคริปต์ด้านบนจากเซิร์ฟเวอร์ ผลลัพธ์แสดงชื่อไฟล์สคริปต์ที่ดำเนินการ
บทสรุป
ฟังก์ชัน basename() เป็นฟังก์ชันที่มีประโยชน์ของ PHP เมื่อ coder ทำงานกับไฟล์หรือไดเร็กทอรีเพื่อวัตถุประสงค์ต่างๆ การใช้งานที่แตกต่างกันของฟังก์ชัน basename() ได้อธิบายไว้ในบทช่วยสอนนี้โดยใช้ตัวอย่างง่ายๆ เพื่อช่วยให้ผู้อ่านเข้าใจการใช้งานที่เหมาะสมและนำไปใช้ในสคริปต์ PHP ของพวกเขา