1. 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 )

?>

(1)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/>"; //輸出他

2. 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>';
?>

3. php如何讀取文件列表並生成一個靜態頁面

<html>
<head>
</head>
<body>
<?php
if($dir=opendir("file")){
while(false!==$item=readdir($dir)){
if($item!='.'&&$item!='..'){
echo"<ahref='file/".$item."'>".$item."</a><br/>";
}
}
}
?>
</body>
</html>

4. 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));
?>

5. PHP如何遍歷指定文件夾,獲取所有文件列表並生成下載鏈接

試編寫代碼如下:

<?php

$dir="D:/WWW/ftp";//指定的路徑
$sitepath='http://localhost/ftp/';
//遍歷文件夾下所有文件
if(false!=($handle=opendir($dir))){
echo"$dir目錄下的文件列表:<BR/>";
$i=0;
while(false!==($file=readdir($handle))){
if($file!="."&&$file!=".."&&!is_dir($dir.'/'.$file)){
echo'<ahref="'.$sitepath.$file.'">'.$file.'</a><br/>';
}
}
//關閉句柄
closedir($handle);
}

?>


代碼中需要提示的是:


如果是運行於互聯網上,需要考慮文件的訪問安全性。


運行截圖:


6. PHP 列出當前目錄下所有文件(自身別列出來)

<?php

$d=dir(".");
echo $d->path.$e;
while(false !== ($e= $d->read())) {
echo "<a href=$e target=_blank >$e</a>"."<br>";
}
$d->close();
?>

7. PHP獲取文件夾下面html文件列表

<?php
$dir = "."; //目錄
filelist($dir);

function filelist($dir){
$list = scandir($dir);
foreach($list as $file){//遍歷
$path=$dir."/".$file;
if(is_dir($path) && $file!="." &&$file!=".."){ //判斷是否是路徑
filelist($path);
}else if(extend($file) == "html") {
echo $file."\t地址:\t".$path."\t<a href=$path>修改|刪除</a><br>";
}
}
}

//返迴文件類型
function extend($file_name)
{
$extend =explode("." , $file_name);
$va=count($extend)-1;
return $extend[$va];
}

?>

8. 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")……
?>

9. 自己寫個php文件,列出單個目錄文件列表.(和沒有index文件時一模一樣的那樣。)

我2002年寫過一個文件實現這樣的功能,直接粘貼如下,你試試看能否可用:

<html><head>
<script language=javascript src=/style.js></script>
<script language=javascript>
var a_href=new Array();
var a_name=new Array();
var a_size=new Array();
var a_time=new Array();
var tmp_href='';
var tmp_name='';
var tmp_size='';
var tmp_time='';
var i,j,k,sorti;
<?php
$base_dir=dirname($_SERVER["SCRIPT_FILENAME"]);
$base_len=strlen($base_dir)+1;
if ($_SERVER["QUERY_STRING"] == '') $real_dir=$base_dir;
else $real_dir=$base_dir.'/'.$_SERVER[QUERY_STRING];
$real_dir=strtr($real_dir,'\\','/');
if (substr($real_dir,-1)!='\\' && substr($real_dir,-1)!='/') $real_dir .= '/';
$short_dir=substr($real_dir,$base_len);
//while ($short_dir{0}=='/') $short_dir=substr($short_dir,1);
while (substr($short_dir,-1)=='/') $short_dir=substr($short_dir,0,strlen($short_dir)-1);
//if ($short_dir!=''){
// if (strrchr($short_dir,'/')) $up_dir=substr($short_dir,0,strlen($short_dir)-strlen(strrchr($short_dir,'/')));
// else $up_dir='';
//}
echo "//base_dir=$base_dir\treal_dir=$real_dir\tshort_dir=$short_dir\n";
if ($dir = @opendir($real_dir)) {
$i=0;
while (($file_name = readdir($dir)) !== false) if ($file_name!='.' && $file_name!='..' && substr($file_name,-1)!='~') {
$short_file=$short_dir.'/'.$file_name;
$file_path=$real_dir.$file_name;
if (is_dir($file_path)) {
$size='<DIR> ';
$bgcolor='style="background-color:#aaffaa"';
if ($file_name == '..' ) {$href="$PHP_SELF?$up_dir"; $file_name="<上級目錄>";}
else $href="$PHP_SELF?$short_file";
}else {
$size=sprintf("%10d",filesize($file_path));
$bgcolor='';
$href=dirname($PHP_SELF).$short_file;
}
$time=date('Y-m-d H:i:s',filemtime($file_path));
echo "a_href[$i]='$href';a_size[$i]='$size';a_time[$i]='$time';a_name[$i]='$file_name';\n";
$i++;
}
echo "var iFileCount=$i;\n";
?>
</script></head>
<BODY BGCOLOR="#FFFFFF" background="/media/wall.jpg">
<div id=body_id>
字體選擇:
<button onclick=body_id.className='14pt' class=14pt>大</button>
<button onclick=body_id.className='12pt' class=12pt>中</button>
<button onclick=body_id.className='9pt' class=9pt>小</button>
<script language=javascript>
k=0;
for (i=0;i<iFileCount;i++){
if(a_size[i].substring(0,1)=='<'){
if (i!=k){
tmp_href=a_href[i]; tmp_name=a_name[i]; tmp_size=a_size[i]; tmp_time=a_time[i];
a_href[i]=a_href[k];a_name[i]=a_name[k];a_size[i]=a_size[k];a_time[i]=a_time[k];
a_href[k]=tmp_href; a_name[k]=tmp_name; a_size[k]=tmp_size; a_time[k]=tmp_time;
}
k++;
}
}
if(k<iFileCount && a_size[k].substring(0,1)=='<')k++;
sorti=k;
re = / /g;
function do_sort(x,n,m){//對數組[n,m)按 x 方式排序
for (i=n;i<m;i++){
k=i;
for (j=i+1;j<m;j++){
if (x=='NA' && a_name[k]>a_name[j] ||
x=='ND' && a_name[k]<a_name[j] ||
x=='SA' && a_size[k]>a_size[j] ||
x=='SD' && a_size[k]<a_size[j] ||
x=='TA' && a_time[k]>a_time[j] ||
x=='TD' && a_time[k]<a_time[j]){k=j;}
}
if (i!=k){
tmp_href=a_href[i]; tmp_name=a_name[i]; tmp_size=a_size[i]; tmp_time=a_time[i];
a_href[i]=a_href[k];a_name[i]=a_name[k];a_size[i]=a_size[k];a_time[i]=a_time[k];
a_href[k]=tmp_href; a_name[k]=tmp_name; a_size[k]=tmp_size; a_time[k]=tmp_time;
}
}
}
function sort_list(x){
if (sorti>1)do_sort(x,0,sorti);
if (sorti<iFileCount)do_sort(x,sorti,iFileCount);
for (i=0;i<iFileCount;i++){
document.all.item("FileList")[i].innerText=a_size[i].replace(re,' ')+" "+a_time[i]+" "+a_name[i];
document.all.item("FileList")[i].href=a_href[i];
}
}
</script>
<?php
if (file_exists($real_dir.'header')) {
echo '<pre>';
readfile($real_dir.'header');
echo '</pre><hr>';
}
echo "伺服器 $_SERVER[SERVER_NAME] 的 $short_dir 目錄下面的文件清單:<button onclick=history.back()>回退</button> <button onclick=location.href=\"$PHP_SELF?$up_dir\">上級</button><br>".
"長度<button onclick='javascript:sort_list(\"SA\");' class=9pt>↑</button><button onclick='javascript:sort_list(\"SD\");' class=9pt>↓</button> 更新時間<button onclick='javascript:sort_list(\"TA\");' class=9pt>↑</button><button onclick='javascript:sort_list(\"TD\");' class=9pt>↓</button> 文件名<button onclick='javascript:sort_list(\"NA\");' class=9pt>↑</button><button onclick='javascript:sort_list(\"ND\");' class=9pt>↓</button><br>\n";
?>
<script language=javascript>
var szText='';
re2=/</g;
for (i=0;i<iFileCount;i++){
szText=a_size[i].replace(re,' ');
szText=szText.replace(re2,'<');
document.write("<nobr><a href='",a_href[i],"' id='FileList'>",szText," ",a_time[i]," ",a_name[i],"</a></nobr><br>");
}
</script>
<?php
closedir($dir);
if (file_exists($real_dir.'readme.txt')) {
echo '<hr><pre>';
readfile($real_dir.'readme.txt');
echo '</pre>';
}
if (file_exists($real_dir.'readme')) {
echo '<hr><pre>';
readfile($real_dir.'readme');
echo '</pre>';
}
if (file_exists($real_dir.'readme.htm')) {
echo '<hr>';
readfile($real_dir.'readme.htm');
}
if (file_exists($real_dir.'readme.html')) {
echo '<hr>';
readfile($real_dir.'readme.html');
}
}
?></div></body></html>