php获取路径的目录
❶ php给出一个目录的各个文件路径(如图),怎么把它以文件夹或者目录树的形式显示出来
我给你思路,
用glob()获取根目录文件,然后用is_dir()判断是否为文件,是的话在用glob(),不是的话,直接打印出来,一直循环下去
❷ PHP怎么获取文件目录权限
PHP获取文件目录权限函数fileperms,使用这个函数可以文件或者目录属性。
例子程序:
<?php
$perms=fileperms('/etc/passwd');
if(($perms&0xC000)==0xC000){
//Socket
$info='s';
}elseif(($perms&0xA000)==0xA000){
//SymbolicLink
$info='l';
}elseif(($perms&0x8000)==0x8000){
//Regular
$info='-';
}elseif(($perms&0x6000)==0x6000){
//Blockspecial
$info='b';
}elseif(($perms&0x4000)==0x4000){
//Directory
$info='d';
}elseif(($perms&0x2000)==0x2000){
//Characterspecial
$info='c';
}elseif(($perms&0x1000)==0x1000){
//FIFOpipe
$info='p';
}else{
//Unknown
$info='u';
}
❸ php如何获取目录下所有文件名
<?php
functionfilesinfo($path){
//检查路径合法性
if(!is_dir($path))returnfalse;//不合法
//用系统函数获得文件名数组
$files=scandir($path);
//定义静态变量记录调用次数
static$count=-1;
//遍历数组
foreach($filesas$file){
//如果是'.'或'..'文件,跳过当次循环
if($file=='.'||$file=='..')continue;
//将文件信息存入数组
$arr[]=iconv('gbk','utf-8',$file);
}
//每次调用,次数加1
$count+=1;
//根据调用次数返回第N个结果
return$arr[$count];
}
//第1次调用,./替换成你自己的目录路径
echofilesinfo('./').'</br>';
//第2次调用
echofilesinfo('./').'</br>';
//第3次调用
echofilesinfo('./').'</br>';
?>
❹ PHP 路径
*********************************************
对问题的补充(因为发布字数有限):
我第一次使用的是相对路径,所以重复包含的时候就出错了
而我第二次使用的是绝对路径,所以不出错.可是我还是有点疑惑:
我先分析了以下使用相对路径会出错的原因:
我运行index.php,它能找到 folder_a目录,也能找到该目录下的file_a_a.php,于是它就把 folder_a/file_a_a.php 里的内容复制到了index.php 的第一行(包含语句的那行),然后 再继续运行(也就是运行包含过来的内容),因此此时等于是在index.php中运行 file_a_a.php 中的require_once('../folder_b/file_b_a.php'); 它根据当前index.php的位置去找 这个路径文件(file_b_a.php),当然找不到啦,所以它出错了.
可是我使用绝对路径的时候不是一样的道理吗?可为什么它就不出错?可能这句话大家有点不解了,我来详细说明(根据程序的运行顺序来说明).
程序先运行 index.php(注意此时我加上了 dirname(__FILE__),所以当前是绝对路径),
index.php先运行第一句代码:require_once(dirname(__FILE__).'/'.'folder_a/file_a_a.php');
dirname(__FILE__) 就是 f:/wwwroot/ 所以这句代码包含的路径也就是:
f:/wwwroot/folder_a/file_a_a.php
这个路径是正确的,因此没问题是吧
ok 第一步正确完成
然后它就把 file_a_a.php 中的代码复制到的 index.php 的这个地方:
然后仍然继续运行: 这是也就是在index.php 中运行file_a_a.php 中的所有代码,那么我们来看看它运行那些代码?
<?php
require_once(dirname(__FILE__).'/'."../folder_b/file_b_a.php");
$x = new X();
$x.printInfo();
?>
对就是这些,需要注意的是,这些代码已经被复制到了index.php,也就是说,现在index.php的内容实际上就变成了:
<?php
require_once(dirname(__FILE__).'/'."../folder_b/file_b_a.php");
$x = new X();
$x.printInfo();
echo "文件folder_a_a.php被包含成功";
?>
那么仍然按程序的执行顺序来分析以上代码:
dirname(__FILE__) 应该是 f:/wwwroot (因为现在这些代码在index.php中执行,和相对路径一样的道理,因此得到的是index.php所在的目录)
那么包含的路径应该就是: f:/wwwroot/../folder_b/file_b_a.php
那么我们检查下这个路径是否有file_b_a.php文件呢? 答案是没有,因为 f:/wwwroot/../folder_b 已经返回到的f:盘符下的folder_b目录,而这个目录并不存在.
但是执行的结果却让我不解,它竟然正确输出了.
也许大家会说:在相对路径中,index.php 先包含了 file_a_a.php 然后再执行包含 file_b_a.php 的代码,所以找不到目录.而使用绝对路径后,index.php 在包含 file_a_a.php 之 前,file_a_a.php 已经先执行了包含 file_b_a.php 的代码,所以正确输出.但是请注意:php文档中以及许多文档教程都是这样说明的:包含一个文件,实际上就是将被包含的文件中 的代码复制到包含命令的地方,就算这个观点是错误的,那么同样是 require_once 命令,不可能对相对路径就是先包含再执行,而对绝对路径却是先执行再包含吧.
不解,请大家指教.(非常感谢大家能看到这里,问题很长,是因为我郁闷的时间更长,所以请大家不要 Ctrl+C Ctrl+V,也不要说:看 API 或 自己找资历 等等了.)谢谢.
❺ PHP根据绝对路径获取文件
这个不太清楚,毕竟用text提交的是一段字符串,并不像file似的上传到服务器的临时目录。这么想想的话如果只拿到一段字符串服务器端就能随便的获得你这边儿的文件也挺可怕的-。-我还只是菜鸟,表拍。。。
❻ PHP读取当前网络路径目录
<?php
//file:http://localhost/1/1.php
//local:E:\AppServ\www\1\1.php
//两种 第一种是你需要的
echo $url = substr($_SERVER['SCRIPT_URI'],0,strrpos($_SERVER['SCRIPT_URI'],'/'))."<br>";
echo getcwd();
/*
输出:
http://localhost/1
E:\AppServ\www\1
*/
?>
❼ php怎样获取当前文件的物理路径
dirname(__FILE__); 获取当前目录的绝对路径
❽ PHP获取文件绝对路径的代码(上一级目录)
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
❾ php 获取当前目录所有文件夹名 及下级目录文件夹名 求代码详解
把这个文件放到\wamp\www\ 这里,然后运行。
<?php
if (isset($_GET['dir'])){ //设置文件目录
$basedir=$_GET['dir'];
}else{
$basedir = '.';
}
checkdir($basedir);
function checkdir($basedir)
{
if ($dh = opendir($basedir)) {
while (($file = readdir($dh)) !== false) {
if ($file != '.' && $file != '..'){
if (!is_dir($basedir."/".$file)) {
echo "filename: $basedir/$file <br>";
}else{
$dirname = $basedir."/".$file;
checkdir($dirname);
}
}
}
closedir($dh);
}
}
?>
[以下于为题无关]
吗蛋,代码前的空格都没了,这不是我去掉的哦,是百X把空格全去了,有强迫症表示不能接受啊...........
❿ php获取打开的文件的路径
这里有浏览器限制,可以用javascript获取input的value值,在IE下可以得到包括路径的文件名,在其他浏览器下只能获得文件名。