国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP文件操作之獲取目錄下文件與計(jì)算相對路徑的方法

2024-05-04 23:42:07
字體:
供稿:網(wǎng)友
這篇文章主要介紹了PHP文件操作技巧之獲取目錄下文件與計(jì)算相對路徑的方法,其中獲取目錄下文件方面分為包含子目錄和不包含子目錄兩種情況,需要的朋友可以參考下
 

獲取目錄下文件

1、獲取目錄下文件,不包括子目錄

//獲取某目錄下所有文件、目錄名(不包括子目錄下文件、目錄名)   $handler = opendir($dir);   while (($filename = readdir($handler)) !== false) {//務(wù)必使用!==,防止目錄下出現(xiàn)類似文件名“0”等情況     if ($filename != "." && $filename != "..") {         $files[] = $filename ;       }     }   }   closedir($handler);     //打印所有文件名 foreach ($filens as $value) {   echo $value."<br />"; } 

2、獲取目錄下所有文件,包括子目錄

function get_allfiles($path,&$files) {   if(is_dir($path)){     $dp = dir($path);     while ($file = $dp ->read()){       if($file !="." && $file !=".."){         get_allfiles($path."/".$file, $files);       }     }     $dp ->close();   }   if(is_file($path)){     $files[] = $path;   } }    function get_filenamesbydir($dir){   $files = array();   get_allfiles($dir,$files);   return $files; }    $filenames = get_filenamesbydir("static/image/"); //打印所有文件名,包括路徑 foreach ($filenames as $value) {   echo $value."<br />"; } 

 

計(jì)算兩個(gè)文件之間的相對路徑方法
php 計(jì)算兩個(gè)文件之間的相對路徑方法

例如:
文件A 的路徑是 /home/web/lib/img/cache.php
文件B的路徑是 /home/web/api/img/show.php
那么,文件A相對于文件B的路徑是 ../../lib/img/cache.php,即文件B 訪問 文件A的相對路徑。

function getRelativePath

<?php /** 計(jì)算path1 相對于 path2 的路徑,即在path2引用paht1的相對路徑 * @param String $path1 * @param String $path2 * @return String */ function getRelativePath($path1, $path2){   $arr1 = explode('/', $path1);   $arr2 = explode('/', $path2);    // 獲取相同路徑的部分   $intersection = array_intersect_assoc($arr1, $arr2);    $depth = 0;    for($i=0,$len=count($intersection); $i<$len; $i++){     if(!isset($intersection[$i])){       $depth = $i;       break;     }   }    // 將path2的/ 轉(zhuǎn)為 ../,path1獲取后面的部分,然后合拼   $tmp = array_merge(array_fill(0, count($arr2)-$depth-1, '..'), array_slice($arr1, $depth));    $relativePath = implode('/', $tmp);    return $relativePath; } ?> 

demo

<?php $path1 = '/home/web/lib/img/cache.php'; $path2 = '/home/web/api/img/show.php';  echo getRelativePath($path1, $path2); // ../../lib/img/cache.php ?> 
 


注:相關(guān)教程知識閱讀請移步到PHP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 临江市| 黄梅县| 常熟市| 安多县| 鱼台县| 张北县| 溧水县| 稻城县| 托里县| 黄山市| 东方市| 镇康县| 离岛区| 错那县| 绵阳市| 普格县| 明溪县| 临潭县| 志丹县| 禹州市| 兴化市| 都兰县| 淮安市| 云安县| 南平市| 抚州市| 常宁市| 红河县| 田阳县| 扶风县| 肇庆市| 渑池县| 永丰县| 依兰县| 安达市| 云龙县| 武安市| 望都县| 通河县| 广宗县| 时尚|