遍歷某文件夾下的所有文件和文件夾,並且把所以匹配的文件復制到同一目錄。
$dir="/www/pooy/ke";
static $dir_list =0;
static $file_list =0;
function listfile($dir){
global $dir_list,$file_list;
$d = dir($dir);
while ( $entry = $d->read()) {
$tem_curnt=$dir."/".$entry;
//echo $tem_curnt."<br>";
if($entry=="." || $entry=="..") continue;
if ( is_dir( $tem_curnt)) {
listfile($tem_curnt);
echo "文件夾 ".$tem_curnt."<br>";
$dir_list++;
}
elseif ( is_file($tem_curnt))
{
echo "文件".$tem_curnt."<BR>";
_($tem_curnt,"/www/pooy/bk");
$file_list++;
}
}
$d->close();
}
function _($src, $dst) {
if ( ! is_dir($src)) {
if ( ! ($src, $dst)) {
return _log('Unable to files', $src);
}
} else {
mkdir($dst);
$ls = scandir($src);
for ($i = 0; $i < count($ls); $i++) {
if ($ls[$i] == '.' OR $ls[$i] == '..') continue;
$_src = $src.'/'.$ls[$i];
$_dst = $dst.'/'.$ls[$i];
if ( is_dir($_src)) {
if ( ! _($_src, $_dst)) {
return _log('Unable to files', $_src);
}
} else {
if ( ! ($_src, $_dst)) {
return _log('Unable to files', $_src);
}
}
}
}
return TRUE;
}listfile($dir);
echo "目錄數:".$dir_list;
echo"<br>";
echo"文件數:".$file_list;
上一頁:PHP時間戳和日期相互轉換 下一頁:PHP中生成橫狀百分比圖片實例
相關內容
2014.10.10python獲取某目錄下的所有文件和子目錄-os.listdir
2014.07.17python中批量移動目錄所有文件函數
2014.07.09PHP自定義遍歷目錄下所有文件dir(),readdir()函數
2013.12.17php讀取指定目錄文件夾下所有文件名
2013.05.31python讀取指定目錄下所有文件
2012.12.20PHP unlink與rmdir刪除目錄及目錄下所有文件
2012.03.15php批量替換內容或指定目錄下所有文件內容
2011.04.08php 獲取目錄下所有文件實現代碼
2010.10.21php 目錄列出所有文件
2010.10.09php遞歸刪除目錄所有文件
② PHP如何實現讀取指定文件內的某些內容
這個文件,如果是用php 語法寫的,你可以用include();將此文件包含進來,
這樣的話,這里文件裡面$index="132233123";
你就可以調用$index變數了
如果你寫的只是一個文件話,建議你用以下方式進行判斷
這個下面是我寫的一個讀取文件的函數,
function Read_Url($file_url){
$str="";
$handle = @fopen($file_url, "r");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$str .= $buffer." ";
}
return $str;
fclose($handle);
}else{
Msg("文件無法打開");
}
}
③ 如何用php讀取指定文件夾里所有文件並做成鏈接
<?php
//設定報錯等級,如果是開源程序插件不需要設定
error_reporting(E_ERROR|E_PARSE);
//定義欲讀取的目錄路徑,方便演示,本程序讀取的是當前文件所在目錄
$path='.';
//獲取文件列表數組
$files=ReadFolder($path);
//處理文件列表數組
foreach($filesas$value){
//顯示文件鏈接
echo'<ahref="'.$value.'">'.$value.'</a>';
//為方便查看,輸出一個<br/>換行符
echo'<br/>';
}
/*定義自定義函數*/
/**
*獲取文件列表
*
*@paramstring $dir 欲讀取的目錄路徑
*@paramboolean$mode0:讀取全部;1:僅讀取文件;2:僅讀取目錄
*@returnarray
*/
functionReadFolder($dir,$mode=0){
//如果打開目錄句柄失敗,則輸出空數組
if(!$handle=@opendir($dir))returnarray();
//定義文件列表數組
$files=array();
//遍歷目錄句柄中的條目
while(false!==($file=@readdir($handle))){
//跳過本目錄以及上級目錄
if('.'===$file||'..'===$file)continue;
//是否僅讀取目錄
if($mode===2){
if(isDir($dir.'/'.$file))$files[]=$file;
//是否僅讀取文件
}elseif($mode===1){
if(isFile($dir.'/'.$file))$files[]=$file;
//讀取全部
}else{
$files[]=$file;
}
}
//關閉打開的目錄句柄
@closedir($handle);
//輸出文件列表數組
return$files;
}
/**
*判斷輸入是否為目錄
*
*@paramstring$dir
*@returnboolean
*/
functionisDir($dir){
return$dir?is_dir($dir):false;
}
/**
*判斷輸入是否為文件
*
*@paramstring$file
*@returnboolean
*/
functionisFile($file){
return$file?is_file($file):false;
}
?>
④ 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
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
/**
*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是一種非常流行的WEB程序語言,超級文本預處理語言,其他的還有ASP,JSP等。簡單的說.PHP就是嵌入這種語言後的一個動態網頁文件。
四種打開php格式文件方法:
首先我們來看php文件是什麼文件,PHP是一個網頁腳本,文件後綴名為.php,
php文件打開方式一:用記事本打開
右擊.php文件,選擇記事本打開,就可以看到文件代碼啦!
php文件打開方式二:用Dreamweaver打開
Dreamweaver是網頁編輯器,比較流行的網站開發工具,你可以直接把文件拖進去就可以打開php文件了
php文件打開方式三:Notepad++工具打開
也是代碼編輯器,選擇文件打開就行
php文件打開方式四:SublimeText工具打開
和上面方法一樣,直接選擇文件打開就行
除了記事本,其它代碼編輯器工具都可以去php中文網php開發工具下載
若是想要.php文件進行運行則需要php環境。可以去php中文網QQ群374224296里去下載php環境搭建工具軟體(PHPToolClient)進行安裝,直接把文件放進根目錄下就可以用瀏覽器打開啦!
⑧ php如何查找文件
通過報錯信息我們能夠看到('failed to open stream','Failed opening required'),這是被包含的文件無法打開。造成這種錯誤原因有兩個。
1、在source_index.php這個文件同級目錄下面沒有function.php這個文件。
2、或者是require_once(data/function.php);這條語句寫錯了,造成無法定位到正確的目錄。我在下面再給你介紹一下目錄定位的一些知識。
2.1、require_once("data/function.php");
意思是:調用source_index.php所處目錄下的data目錄下面的function.php文件。
2.2、require_once("/data/function.php");
意思是:調用source_index.php所在目錄根目錄下面的data目錄下面的function.php文件。
2.3、require_once("../data/function.php");
意思是:調用source_index.php上一級目錄下面的data目錄下面的function.php文件。
2.4、require_once("./data/function.php");
意思是:調用source_index.php當前目錄下的data目錄下面的function.php文件,與require_once("data/function.php");該條語句的作用是一樣的。
希望上面的知識能幫你解決這個問題。