您现在的位置: 365建站网 > 365学习 > PHP获取目录名和获取文件的方法

PHP获取目录名和获取文件的方法

文章来源:365jz.com     点击数:176    更新时间:2021-06-24 16:06   参与评论

PHP获取当前目录和相对目录的方法

<?php
//获取当前文件所在目录,如果 A.php include B.php 则无论写在哪个文件里,都是表示 A.php 文件所在的目录
echo realpath('.'),'<br>';
echo getcwd(),'<br>';
// 获取当前文件的上级目录,如果 A.php include B.php 则无论写在哪个文件里,都是表示 A.php 文件所在目录的上级目录
echo realpath('..'),'<br>';
// 获取网站根目录,所有文件里面获取的都是当前项目所在的目录
echo $_SERVER['DOCUMENT_ROOT'],'<br>';
// 获取目录信息
$path_parts = pathinfo(__FILE__);
echo 'dirname: ',$path_parts['dirname'],'<br>';//表示代码所在文件的目录,如果 A.php include B.php 并且此代码段写在 B.php ,那么获取的是 B.php 文件所在的目录
echo 'basename: ',$path_parts['basename'],'<br>';//同上,获取的是代码所在的文件的文件名称,比如:inc.php
echo $path_parts['extension'],'<br>';//同上,获取的是代码所在的文件的后缀名,比如:php
echo dirname(__FILE__),'<br>';//效果同 $path_parts['dirname']
?>

PHP获取目录下面所有文件和文件夹

<?php
    $dir = "D:/";  //要获取的目录
    echo "********** 获取目录下所有文件和文件夹 ***********<hr/>";
    //先判断指定的路径是不是一个文件夹
    if (is_dir($dir)){
        if ($dh = opendir($dir)){
            while (($file = readdir($dh))!= false){
                //文件名的全路径 包含文件名
                $filePath = $dir.$file;
                //获取文件修改时间
                $fmt = filemtime($filePath);
                echo "<span style='color:#666'>(".date("Y-m-d H:i:s",$fmt).")</span> ".$filePath."<br/>";
            }
            closedir($dh);
        }
    }
?>


使用dirname(),basename()和pathinfo()函数,可以很容易地使用PHP获取完整路径的文件名(filename)和目录名(directory name),其中pathinfo()还包含文件扩展名。

完整文件路径的示例

这些示例中使用的完整文件路径是:

$path = "/var/www/mywebsite/htdocs/images/myphoto.jpg";

使用dirname()获取目录名称

PHP的dirname()函数只返回完整路径的目录部分。 这是通过简单地根据目录分隔符(/ 在基于文件系统的*nix上和 \ 在Windows上)排除完整路径的最后一部分来完成的,并且不检查它是否实际上是一个目录。

echo dirname($path)

将返回

/var/www/mywebsite/htdocs/images

注意以下两个:

echo dirname("/var/www/mywebsite/htdocs/images/");

echo dirname("/var/www/mywebsite/htdocs/images");

将返回

/var/www/mywebsite/htdocs

使用basename()获取文件名

要获取完整路径的文件名部分,请使用basename()函数。 注意,它只是路径的最后一部分被认为是文件名,并且没有进行任何测试以查看它是否实际上是一个文件。

echo basename($path);

将返回

myphoto.jpg

echo basename("/var/www/mywebsite/htdocs/images");

将返回

images

使用pathinfo()获取目录名称、文件名和扩展名

PHP的pathinfo()函数返回一个关联数组,其中包含basename,dirname,extension和(来自PHP 5.2.0)没有扩展名的文件名。

print_r(pathinfo($path));

将返回

Array
(
  [dirname] => /var/www/mywebsite/htdocs/images
  [basename] => myphoto.jpg
  [extension] => jpg
  [filename] => myphoto
)


<?php
echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php
echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
?>
上课了分享PHP获取文件绝对路径:
<?php
echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php
echo dirname(__FILE__); // 取得当前文件所在的绝对目录,结果:D:\www\
echo dirname(dirname(__FILE__)); //取得当前文件的上一层目录名,结果:D:\
?>
===========chdir() 函数===========
定义和用法
chdir() 函数把当前的目录改变为指定的目录。
若成功,则该函数返回 true,否则返回 false。
语法
chdir(directory)参数 描述
directory 必需。规定新的当前目录。
例子
<?php
//获得当前目录
echo getcwd();
echo "<br />";
//改变为 images 目录
chdir("images");
echo "<br />";
echo getcwd();
?> 输出:
C:\testweb\main
C:\testweb\main\images
===========chdir() 函数===========

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (176人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------