php文件路徑處理函數


  • basename -- 返回路徑中的文件名部分
# 語法 string basename ( string $path [, string $suffix ] ) //> 手冊例子 echo "1) ".basename("/etc/sudoers.d", ".d").PHP_EOL; //> sudoers echo "2) ".basename("/etc/passwd").PHP_EOL; //> passwd echo "3) ".basename("/etc/").PHP_EOL; //> etc echo "4) ".basename(".").PHP_EOL; //> . echo "5) ".basename("/"); //> # 參數 $suffix 去除指定部分 # PHP_EOL php常量 換行符 windows 相當於"\r\n" | linux/nuix 相當於"\n" | mac 相當於"\r" 
  • dirname -- 返回路徑中的目錄部分
# 語法 string dirname ( string $path ) //> 手冊例子 (dirname返回當前目錄的上級目錄部分) echo "1) " . dirname("/etc/passwd") . PHP_EOL; // 1) /etc echo "2) " . dirname("/etc/") . PHP_EOL; // 2) / (or \ on Windows) echo "3) " . dirname("."); // 3) . //> __FILE__ 常量和dirname //> __FILE__ 返回當前文件的路徑(和inclde|require引用無關) echo dirname(__FILE__); //> 返回當前文件所在路徑的上級目錄 
  • pathinfo -- 返回文件路徑的信息(數組)
# 語法 mixed pathinfo(string $path [,int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME]) //> 返回一個關聯數組包含有 path 的信息。返回關聯數組還是字符串取決於 options //> PHPINFO常量 PATHINFO_DIRNAME = 1 PATHINFO_BASENAME = 2 PATHINFO_EXTENSION = 4 PATHINFO_FILENAME = 8 PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME = 15 //> 示例 $pathinfo = pathinfo('c:/www/htdocs/inc/lib.inc.php'); print_r($pathinfo); /** Array ( [dirname] => c:/www/htdocs/inc [basename] => lib.inc.php [extension] => php [filename] => lib.inc ) */ //> - - - - - - - - - - - - - - - - - - - $pathinfo = pathinfo('/www/htdocs/inc/'); print_r($pathinfo); /** Array ( [dirname] => /www/htdocs [basename] => inc [filename] => inc ) */ 
  • realpath -- 返回規范化的絕對路徑名
# 語法 string realpath ( string $path ) //> 該方法會檢查當前文件路徑是否存在(不存在時會返回false) var_dump(realpath('./../../etc/passwd')); //> false var_dump(realpath('/windows/system32')); //> c:/windows/system32 windows系統支持自動添加前綴 
  • parse_url -- 解析URL,返回其組成部分
# 語法 mixed parse_url( string $url [,int $component = -1]) //> $component 參數由下面常數組成 PHP_URL_SCHEME => 0 PHP_URL_HOST => 1 [PHP_URL_PORT => 2 PHP_URL_USER => 3 PHP_URL_PASS => 4 PHP_URL_PATH => 5 PHP_URL_QUERY => 6 PHP_URL_FRAGMENT => 7 //> 案例 $url = 'http://username:password@hostname/path?arg=value#anchor'; print_r(parse_url($url)); print_r(parse_url('https://www.sd.tianfumeishi.cn/admin/login/index.php?ts=ts&ns=ns#us')); /** # http://username:password@hostname/path?arg=value#anchor Array ( [scheme] => http [host] => hostname [user] => username [pass] => password [path] => /path [query] => arg=value [fragment] => anchor ) */ /** # https://www.sd.tianfumeishi.cn/admin/login/index.php?ts=ts&ns=ns#us Array ( [scheme] => https [host] => www.sd.tianfumeishi.cn [path] => /admin/login/index.php [query] => ts=ts&ns=ns [fragment] => us ) */ 
  • parse_str -- 該字符串解析成多個變量
# 語法 void parse_str ( string $str [, array &$arr ] ) //> 設置了第二個變量 arr,變量將會以數組元素的形式存入到這個數組,作為替代 $str = "first=value&arr[]=foo+bar&arr[]=baz"; parse_str($str); echo $first.'<br>'; //> value echo $arr[0].'<br>'; //> foo bar echo $arr[1].'<br>'; //> baz //> parse_str 存入第二個參數中 output parse_str($str,$output); echo $output['first'].'<br>'; //> value echo $output['arr'][0].'<br>'; //> foo bar echo $output['arr'][1].'<br>'; //> baz 
  • http_build_query -- 生成 URL-encode 之后的請求字符串
# 語法 string http_build_query( mixed $query_data [, string ] $numeric_prefix [, string $arg_separator [, int $enc_type ] =PHP_QUERY_RFC1738]]]) //> 參數二:變量前綴(當是數字時添加) | 參數四:編碼格式 $data = array( 'ts' => 'ts', 'ns' => 'ns', 'wd' => 'wd', 'wc' => 'wc' ); echo http_build_query($data) . "\n"; // ts=ts&ns=ns&wd=wd&wc=wc echo http_build_query($data, '', '&a&') . "\n"; // ts=ts&a&ns=ns&a&wd=wd&a&wc=wc echo http_build_query($data, 'wd_', '&a&'); // ts=ts&a&ns=ns&a&wd=wd&a&wc=wc //> 更多用法參看手冊




原文:https://www.jianshu.com/p/729417cc990b


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM