首页 > 编程 > PHP > 正文

PHP文件操作之获取目录下文件与计算相对路径的

2020-03-24 18:55:40
字体:
来源:转载
供稿:网友
//获取某目录下所有文件、目录名(不包括子目录下文件、目录名) $handler = opendir($dir); while (($filename = readdir($handler)) !== false) {//务必使用!==,防止目录下出现类似文件名“0”等情况 if ($filename != "." && $filename != "..") { $files[] = $filename ; closedir($handler); //打印所有文件名 foreach ($filens as $html' target='_blank'>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 / 计算两个文件之间的相对路径方法
php 计算两个文件之间的相对路径方法例如:
文件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 /** 计算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的/ 转为 ../,path1获取后面的部分,然后合拼 $tmp = array_merge(array_fill(0, count($arr2)-$depth-1, '..'), array_slice($arr1, $depth)); $relativePath = implode('/', $tmp); return $relativePath;PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表