php查詢文件夾內的文件個數:
//獲取目錄/文件列表
public function getDirFile( & $Dir ){
if( is_dir($Dir) ){
$DirFileArray['DirList'] = $this->getDir( $Dir );
if( $DirFileArray ){
foreach( $DirFileArray['DirList'] as $Handle ){
$File = $Dir.DS.$Handle;
$DirFileArray['FileList'][$Handle] = $this->getFile( $File );
}
}
}else{
$DirFileArray[] = '[Path]:\''.$Dir.'\' is not a dir or not found!';
}
return $DirFileArray;
}
}
?>
⑵ 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列出目錄下所有文件(包括子目錄)
<?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
$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);
}
?>
代碼中需要提示的是:
如果是運行於互聯網上,需要考慮文件的訪問安全性。
運行截圖:
⑸ 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 )
?>
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怎麼獲取文件夾
給你一個文件夾,返回該文件夾下所有文件數量
<?php
//遞歸函數實現功能
function fileall($fname){
$sum = 0;
if(is_dir($fname)){
$dir = opendir($fname
);
while($name = readdir($dir)){
if($name != "." && $name != ".."){
$wzpath = $fname."/".$name;//將文件拼接成完整的路徑
if(is_file($wzpath)){
//如果是文件+1
$sum++;
}else{
//如果是文件夾調用本身函數查找所有文件
$sum += fileall($wzpath);
}
}
}
closedir($dir);
return $sum;
}else{
return 1;
}
}
函數調用:echo fileall("./bootstrap");
?>
⑺ 如何用php讀取指定文件夾里所有文件並做成鏈接
<?php
//設定報錯等級,如果是開源程序插件不需要設定
error_reporting(E_ERROR | E_PARSE);
//定義欲讀取的目錄路徑,方便演示,本程序讀取的是當前文件所在目錄
$path = '.';
//獲取文件列表數組
$files = ReadFolder($path);
//處理文件列表數組
foreach ($files as $value) {
//顯示文件鏈接
echo '<a href="' . $value . '">' . $value . '</a>';
//為方便查看,輸出一個 <br /> 換行符
echo '<br />';
}
/* 定義自定義函數 */
/**
* 獲取文件列表
*
* @param string $dir 欲讀取的目錄路徑
* @param boolean $mode 0:讀取全部;1:僅讀取文件;2:僅讀取目錄
* @return array
*/
⑻ php獲得文件夾下所有文件的遞歸演算法的簡單實例
如下所示:
function
my_scandir($dir)
{
$files=array();
if(is_dir($dir))
{
if($handle=opendir($dir))
{
while(($file=readdir($handle))!==false)
{
if($file!="."
&&
$file!="..")
{
if(is_dir($dir."/".$file))
{
$files[$file]=my_scandir($dir."/".$file);
}
else
{
$files[]=$dir."/".$file;
}
}
}
closedir($handle);
return
$files;
}
}
}
以上就是小編為大家帶來的php獲得文件夾下所有文件的遞歸演算法的簡單實例全部內容了,希望大家多多支持腳本之家~