ฉันมีหน้า php อยู่ในโฟลเดอร์บนเว็บไซต์ของฉัน
ฉันต้องการเพิ่มชื่อของไดเร็กทอรีปัจจุบันลงในตัวแปรเช่น:
$myVar = current_directory_name;
เป็นไปได้หรือไม่
ฉันมีหน้า php อยู่ในโฟลเดอร์บนเว็บไซต์ของฉัน
ฉันต้องการเพิ่มชื่อของไดเร็กทอรีปัจจุบันลงในตัวแปรเช่น:
$myVar = current_directory_name;
เป็นไปได้หรือไม่
คำตอบ:
getcwd();
หรือ
dirname(__FILE__);
หรือ (PHP5)
basename(__DIR__)
http://php.net/manual/en/function.getcwd.php
http://php.net/manual/en/function.dirname.php
คุณสามารถใช้basename()
เพื่อรับส่วนต่อท้ายของเส้นทาง :)
ในกรณีของคุณผมว่าคุณมักจะมองหาที่จะใช้getcwd()
, dirname(__FILE__)
เป็นประโยชน์มากขึ้นเมื่อคุณมีแฟ้มที่ความต้องการที่จะรวมถึงห้องสมุดอื่นและรวมอยู่ในห้องสมุดอื่น
เช่น:
main.php
libs/common.php
libs/images/editor.php
ในของcommon.php
คุณคุณจำเป็นต้องใช้ฟังก์ชันในeditor.php
ดังนั้นคุณจึงใช้
common.php
:
require_once dirname(__FILE__) . '/images/editor.php';
main.php
:
require_once libs/common.php
วิธีที่ว่าเมื่อ common.php คือrequire'd
ในmain.php
สายของrequire_once
ในcommon.php
จะถูกต้องรวมถึงeditor.php
ในimages/editor.php
แทนที่จะพยายามมองในไดเรกทอรีปัจจุบันที่main.php
มีการเรียก
basename(getcwd())
__DIR__
คือพา ธ ของไฟล์ที่รวมไม่ใช่ไดเร็กทอรีปัจจุบัน
basename(__DIR__)
บันทึกวันสำหรับฉัน ขอบคุณมากสำหรับการแบ่งปัน!
หากต้องการรับเฉพาะชื่อของไดเร็กทอรีที่สคริปต์เรียกใช้:
//Path to script: /data/html/cars/index.php
echo basename(dirname(__FILE__)); //"cars"
echo basename(__DIR__); will return the current directory name only
echo basename(__FILE__); will return the current file name only
ตัวอย่างเช่น
Your Path = /home/serverID_name/www/your_route_Dir/
THIS_is_the_DIR_I_Want
Soultion ที่ใช้ได้ผล:
$url = dirname(\__FILE__);
$array = explode('\\\',$url);
$count = count($array);
echo $array[$count-1];
จริงๆแล้วฉันพบทางออกที่ดีที่สุดดังต่อไปนี้:
$cur_dir = explode('\\', getcwd());
echo $cur_dir[count($cur_dir)-1];
ถ้า dir ของคุณคือ www \ var \ path \ Current_Path
จากนั้นจะส่งคืนCurrent_path
PATH_SEPARATOR
$myVar = str_replace('/', '', $_SERVER[REQUEST_URI]);
libs / images /index.php
ผลลัพธ์: images
หากคุณมี PATH และไม่ต้องการสร้างความกังวลหากสคริปต์ของคุณทำงานในโฟลเดอร์ที่คุณสนใจสิ่งนี้จะได้ผล:
basename(parse_url($_GET['dir_link'])['path'],PHP_URL_PATH)
basename(__DIR__)
ใน PHP 5