當前位置:首頁 » 編程語言 » php獲取路徑的目錄

php獲取路徑的目錄

發布時間: 2022-02-18 03:12:35

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下可以得到包括路徑的文件名,在其他瀏覽器下只能獲得文件名。

熱點內容
如何打開加密ppt 發布:2025-01-05 11:52:01 瀏覽:601
神奇攝影app無法存儲照片 發布:2025-01-05 11:37:42 瀏覽:900
電銷機器人系統源碼 發布:2025-01-05 11:37:41 瀏覽:723
招投標系統源碼 發布:2025-01-05 11:36:57 瀏覽:413
php翻轉字元串 發布:2025-01-05 11:30:20 瀏覽:336
公開密鑰加密系統 發布:2025-01-05 11:25:35 瀏覽:58
安裝mysqlpython 發布:2025-01-05 11:17:02 瀏覽:744
tar備份linux 發布:2025-01-05 11:13:37 瀏覽:729
大型pppoe伺服器搭建 發布:2025-01-05 11:12:59 瀏覽:843
怎麼修改360wifi密碼 發布:2025-01-05 11:12:51 瀏覽:63