basenamephp-九游会j9娱乐平台
① 請教php高手,解決basename函數和mb_substr函數處理中文文件名稱的解決方法,在上傳文件時,總是出現亂碼
兩個解決辦法:
第一,不使用中文文件名;
第二,對文件名進行編碼轉換,然後mb_substr就不會出現亂碼了。
② php 中
__file__表示當前所在文件的絕對路徑包括文件名,dirname(__file__)表示當前文件的絕對路徑,basename(__file__)表示當前文件的文件名稱,dirname(__file__)."/f/".basename(__file__)則表示當前文件所在目錄下的f目錄下的,文件名稱為dirname(__file__)的文件,require表示包含該文件到這個文件。下面是詳解:1)dirname(__file___) 函數返回的是腳本所在在的路徑。
比如文件 b.php 包含如下內容:
$basedir = dirname(__file__);
?>
如果b.php被其他目錄里的a.php文件require 或者 include 去引用的話。
變數$basedir 的內容還是b.php所在的那個文件夾的路徑。
而不是變成a.php文件所在的目錄。
2)dirname(__file__) 一般會返迴文件所的當前目錄到系統根目錄的一個目錄結構。
不會返回當前的文件名稱。
dirname(__file__) 也可能返回一個 . (當前目錄)
[原因是 b.php 文件在 http.conf 或者 php 配置開發環境的默認web目錄下.
比如 web_root 為: "c:/root/www/".]
b.php文件路徑為: "c:/root/www/b.php".
3)使用方法提示,
如果重復一次可以把目錄往上提升一個層次:
比如:$d = dirname(dirname(__file__));
其實就是把一個目錄給dirname()做參數了.因為dirname()返回最後的目錄不帶\\或者是/
所以重復使用的時候可以認為dirname()把最下層的目錄當成文件名來處理了.照常返回
當前目錄的上級目錄.這樣重復就得到了它的上一級的目錄.
4)包含得到上一級目錄的文件
include(dirname(__file__).''/../filename
③ php如何獲取文件夾的文件名稱
當前目錄的路徑?
__dir__或dirname(__file__)
preg_match('#([^/] )$#',str_replace('\','/',__dir__),$match);
var_mp($match[1]);
④ php怎麼獲取當前頁面的後綴文件名
1、第一次獲得文件路徑,假如變數設為path
$path=$_server['request_uri'];
2、用basename函數即可獲得路徑中的文件名部分:
$filename=basename($path);
3.輸出顯示:
echo $filename;