PHP的dirname函数用法,外加basename的用法,pathinfo用法。

jackxiang 2008-8-11 09:37 | |



在写Php上传时,nginx上传模块nginx_upload_module时把文件移到自己想要的目录会用到:http://jackxiang.com/post/6221/
但后来根本不用这个,



--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2013-04-09:
Rango-韩天峰(3507499**)  17:40:30
现在PHP5.3提供了__DIR__常量了,以前还要写 dirname(__FILE__)
回忆未来-向东-Jàck(3726476**)  17:42:11
我是想获取一个变量里的dir,rango说的能使。?
Rango-韩天峰(3507499**)  17:42:22
能啊
这个只是字符串分析的函数,不会去读文件系统

我们知道PHP中提供了一个魔术常量(magic constant)__FILE__,用来指向当前执行的PHP脚本。但PHP没有直接提供该脚本所在目录的常量。也就是说如果我们要得到当前PHP脚本所在的目录,需要使用dirname()这个函数:

<?php

$dir = dirname(__FILE__);

?>

在PHP5.3中,增加了一个新的常量__DIR__,指向当前执行的PHP脚本所在的目录。

例如当前执行的PHP文件为 /www/website/index.php

则__FILE__等于'/www/website/index.php'

而__DIR__等于'/www/website'

现在我们要包含当前文件目录或子目录下的文件,可以直接使用:

<?php

require_once __DIR__ . '/path/to/test.inc.php';
?>

http://www.phpeye.com/article/view/id/149/


例子 1
<?php
print_r(pathinfo("/testweb/test.txt"));
?>
输出:
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
)
例子 2
<?php
print_r(pathinfo("/testweb/test.txt",PATHINFO_BASENAME));
?>
输出:
test.txt

在实际的运用中是这样的:

调试PHP输出:
Array
(
    [dirname] => /upload/video/user
    [basename] => .20130410223139569564.JPG
    [extension] => JPG
    [filename] => .20130410223139569564
)
jpg
输出完成 (耗时 0 秒) - 正常终止
———————————————————————————————————————————————————
再次使用的方法备案(找到以xx.php.mine结果的文件并且删除掉: rm -Rf /xxx/xx.*)Add By:2014-01-03:

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:https://jackxiang.com/post/1186/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2023-10-23 17:58
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]