導航:首頁 > 文件教程 > php獲取目錄文件

php獲取目錄文件

發布時間:2024-08-08 05:54:44

① PHP列出目錄中的目錄和文件的幾種方法

<?php
/**
*PHP中列出目錄中的目錄和文件的幾種方法
*/
//兼容PHP4和PHP5的寫法

functiongetFileList($directory){
$files=array();
if(is_dir($directory)){
if($dh=opendir($directory)){
while(($file=readdir($dh))!==false){
if($file!='.'&&$file!='..'){
$files[]=$file;
}
}
closedir($dh);
}
}
return$files;
}

//PHP5中的簡單方法

functiongetFileList2($directory){
$files=array();
if(is_dir($directory)){
if($files=scandir($directory)){
$files=array_slice($files,2);
}
}
return$files;
}

//使用PHP5面向對象的寫法

functiongetFileList3($directory){
$files=array();
try{
$dir=newDirectoryIterator($directory);
}catch(Exception$e){
thrownewException($directory.'isnotreadable');
}
foreach($diras$file){
if($file->isDot())continue;
$files[]=$file->getFileName();
}
return$files;
}

//測試代碼

$dir=dirname(__FILE__);
var_mp(getFileList($dir));
?>

② php列出目錄下所有文件(包括子目錄)

<?php

/**
*Goofy2011-11-30
*getDir()去文件夾列表,getFile()去對應文件夾下面的文件列表,二者的區別在於判斷有沒有「.」後綴的文件,其他都一樣
*/

//獲取文件目錄列表,該方法返回數組
functiongetDir($dir){
$dirArray[]=NULL;
if(false!=($handle=opendir($dir))){
$i=0;
while(false!==($file=readdir($handle))){
//去掉"「.」、「..」以及帶「.xxx」後綴的文件
if($file!="."&&$file!=".."&&!strpos($file,".")){
$dirArray[$i]=$file;
$i++;
}
}
//關閉句柄
closedir($handle);
}
return$dirArray;
}

//獲取文件列表
functiongetFile($dir){
$fileArray[]=NULL;
if(false!=($handle=opendir($dir))){
$i=0;
while(false!==($file=readdir($handle))){
//去掉"「.」、「..」以及帶「.xxx」後綴的文件
if($file!="."&&$file!=".."&&strpos($file,".")){
$fileArray[$i]="./imageroot/current/".$file;
if($i==100){
break;
}
$i++;
}
}
//關閉句柄
closedir($handle);
}
return$fileArray;
}

//調用方法getDir("./dir")……
?>

③ PHP如何讀出當前目錄下所有文件

一般來說php中讀取目錄下的文件名的方式確實不少,最簡單的是scandir,具體代碼如下:x0dx0a復制代碼 代碼如下:$dir="./caxa/";x0dx0a$file=scandir($dir);x0dx0aprint_r($file);x0dx0a稍微復雜點的,來自於php手冊:x0dx0a復制代碼 代碼如下:$dir = "/etc/php5/";x0dx0a/激判/ Open a known directory, and proceed to read its contentsx0dx0aif (is_dir($dir)) {x0dx0aif ($dh = opendir($dir)) {x0dx0awhile (($file = readdir($dh)) !== false) {x0dx0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n";x0dx0a} closedir($dh);x0dx0a}x0dx0a}x0dx0a這些都只能讀取當前指定目錄下的文件,對握穗子目錄中的文件則無法讀取。原來自己寫明皮改過一個循環刪除所有目錄的一段代碼,需要逐個子目錄刪除所有文件,包括多層。但是只需要讀出文件名,稍微復雜點,網上找到一個能用,原始代碼有錯誤提示,改了一下引用&$data的地方,如下所示:x0dx0a復制代碼 代碼如下:function searchDir($path,&$data){x0dx0aif(is_dir($path)){x0dx0a$dp=dir($path);x0dx0awhile($file=$dp->read()){x0dx0aif($file!='.'&& $file!='..'){x0dx0asearchDir($path.'/'.$file,$data);x0dx0a}x0dx0a}x0dx0a$dp->close();x0dx0a}x0dx0aif(is_file($path)){x0dx0a$data[]=$path;x0dx0a}x0dx0a}x0dx0afunction getDir($dir){x0dx0a$data=array();x0dx0asearchDir($dir,$data);x0dx0areturn $data;x0dx0a}x0dx0aprint_r(getDir('.'));x0dx0a希望本文所述對大家的PHP程序設計有所幫助。

④ PHP讀取目錄下所有文件內容並顯示

<?php

function printFile($filepath)

{

//substr(string,start,length)函數返回字元串的一部分;start規定在字元串的何處開始 ;length規定要返回的字元串長度。默認是直到字元串的結尾。

//strripos(string,find,start)查找 "php" 在字元串中最後一次出現的位置; find為規定要查找的字元;start可選。規定開始搜索的位置

//讀取文件後綴名

//$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );

//判斷是不是以txt結尾並且是文件

#if ($filetype == "txt" && is_file ( $filepath . "/" . $filename ))

if ( is_file ( $filepath))

{

$filename=iconv("gb2312","utf-8",$filepath);

echo $filename."內容如下:"."<br/>";

$fp = fopen ( $filepath, "r" );//打開文件

#while (! feof ( $f )) //一直輸出直到文件結尾

$i = 1;

while ($i < 10)

{

$line = fgets ( $fp );

echo $line."<br/>";

$i = $i +1;

}

fclose($fp);

}

}

(此處空一行)

function readFileRecursive($filepath)

{

if (is_dir ( $filepath )) //判斷是不是目錄

{

$dirhandle = opendir ( $filepath );//打開文件夾的句柄

if ($dirhandle)

{

//判斷是不是有子文件或者文件夾

while ( ($filename = readdir ( $dirhandle ))!= false )

{

if ($filename == "." or $filename == "..")

{

//echo "目錄為「.」或「..」"."<br/>";

continue;

}

//判斷是否為目錄,如果為目錄遞歸調用函數,否則直接讀取列印文件

if(is_dir ($filepath . "/" . $filename ))

{

readFileRecursive($filepath . "/" . $filename);

}

else

{

//列印文件

printFile($filepath . "/" . $filename);

echo "<br/>";

}

}

closedir ( $dirhandle );

}

}

else

{

printFile($filepath . "/" . $filename);

return;

}

}

(此處空一行)

header("content-type:text/html;charset=utf-8");

#echo "Hello World"."<br/>";

$filepath = "C:/phpStudy/PHPTutorial/WWW/test/results"; //想要讀取的目錄

readFileRecursive($filepath )

?>

(4)php獲取目錄文件擴展閱讀:

php還可以讀取文件夾下所有圖片,方法如下

hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要讀取的文件夾

(此處空一行)

$url = '/data/upload/admin/20170517/'; //圖片所存在的目錄

(此處空一行)

$filesnames = scandir($hostdir); //得到所有的文件

(此處空一行)

// print_r($filesnames);exit;

//獲取也就是掃描文件夾內的文件及文件夾名存入數組 $filesnames

(此處空一行)

$www = 'http://www.***.com/'; //域名

(此處空一行)

foreach ($filesnames as $name) {

$aurl= "<img width='100' height='100' src='".$www.$url.$name."' alt = '".$name."'>"; //圖片

echo $aurl . "<br/>"; //輸出他

⑤ php中怎樣獲取目錄中文件的個數

$a = count(glob("*",GLOB_ONLYDIR));
$b = count(glob("*"));
echo '當前目錄下文件夾數量:',$a,',文件數量:',$b-$a;
//這樣就可以獲取當前目錄的文件夾和文件數量了

⑥ php如何讀取某目錄下的所有同類型文件

<?php

$files = glob('*.jpg'); // 其他文來件做類似修改,源比如 *.png, *.txt等。。有目錄請添加絕對目錄。比如:c:/album/*.jpg
echo 'total : ' , count($files); // $files是一個文件數組。

?>

閱讀全文

與php獲取目錄文件相關的資料

熱點內容
iphone圓角圖標製作 瀏覽:659
建設銀行app怎麼申請 瀏覽:163
系統備份文件夾在哪 瀏覽:998
qq分組exo韓文 瀏覽:849
華碩裝裝win7系統教程視頻 瀏覽:407
什麼是數據直連 瀏覽:210
筆記本連接無線網路慢 瀏覽:486
壓縮文件怎麼控制在4m以內 瀏覽:1
indesign最新版本2016 瀏覽:300
為什麼壓縮文件窗口變小 瀏覽:904
居民醫保工行手機app怎麼繳費 瀏覽:602
圖論與網路流理論答案 瀏覽:913
安裝win10後需要輸入WiFi密碼嗎 瀏覽:412
c語言加法的編程格式是什麼樣的 瀏覽:195
用戶大數據怎麼計算 瀏覽:717
手機app軟體怎麼開發 瀏覽:785
記得app 瀏覽:854
網路教課優點是什麼 瀏覽:846
設置驗證被拉入微信群 瀏覽:966
bubblegum教程 瀏覽:474

友情鏈接