导航:首页 > 编程语言 > php遍历文件内容

php遍历文件内容

发布时间:2023-01-08 02:16:58

php遍历文件夹中内容并显示出来会显示._文件名,请问生么原因,谢谢,或者如何过滤掉

很正常啊,这是系统自带的两个特殊隐藏目录。一个.是指代当前目录本身,一个..指代上级目录。平时隐藏了而已。你遍历出来不想显示直接在判断条件里加如果目录等于.或者..就不输出,直接跳过就完了

② 写一个php函数,可以遍历目录下面的所有文件及子文件夹并修改后缀名

可以用递归的方式,还有别的方式能实现

function my_dir($dir)
{
$files = array();
if (@$handle = opendir($dir)) {
while (($file = readdir($handle)) !== false) {
if ($file != ".." && $file != ".") {
if (is_dir($dir . "/" . $file)) {
$files[$file] = my_dir($dir . "/" . $file);
} else {
$files[] = $file;
}

}
}
closedir($handle);
return $files;
}
}

③ php遍历输出文件夹下所有txt文件

可以,使用glob函数可以非常容易搞定,支持通配符。

<?php
header('Content-type:text/html;charset=utf-8');
$i=1;
foreach(glob('/file/*.txt')as$txt)
{
echo'第'.$i.'个文件'.basename($txt).'的内容是:';
echofile_get_contents($txt);
$i++;
echo'<hr/>';
}

④ php 循环遍历文件夹下面的所有目录及文件并且每个文件都写入一句话

/****************************
*获取目录下的所有文件
*[$dir]文件夹路径
****************************/
functiondeepScanDir($dir){
$fileArr=array();
$dirArr=array();
$dir=rtrim($dir,'//');
if(is_dir($dir)){
$dirHandle=opendir($dir);
while(false!==($fileName=readdir($dirHandle))){
$subFile=$dir.DIRECTORY_SEPARATOR.$fileName;
if(is_file($subFile)){
$fileArr[]=$subFile;
}
elseif(is_dir($subFile)&&str_replace('.','',$fileName)!=''){
$dirArr[]=$subFile;
$arr=deepScanDir($subFile);
$dirArr=array_merge($dirArr,$arr['dir']);
$fileArr=array_merge($fileArr,$arr['file']);
}
}
closedir($dirHandle);
}
returnarray(
'dir'=>$dirArr,
'file'=>$fileArr
);
}
/****************************
*将内容写入文件
*[$filename]文件路径
*[$contents]文件内容
*[$type]读写类型
****************************/
functionwriteFileContents($filename,$contents,$type='a'){
if(!($fd=fopen($filename,$type)))
returnFALSE;

if(!fwrite($fd,$contents." ")){
fclose($fd);
returnFALSE;
}

fclose($fd);
returntrue;
}
#示例:
$dir="/usr/local/php/test/";
$dirFiles=deepScanDir($dir);
if(!empty($dirFiles['file'])){
foreach($dirFiles['file']as$file){
writeFileContents($file,"Hello",$type='a+');
}
}

⑤ php怎样遍历远程文件夹下的文件

window是用的GB2312的编码,你的php文件应该用的是UTF-8,所以正如你写的那样,先要转换编码$dir=iconv("utf-8","gb2312",$dir);
但你别忘了,你用的是UTF-8的编码,所以你第六行写错了,把GB2312转换为UTF-8搞倒了吧
123456789101112131415<?phpfunction refresh($dir){ $dir=iconv("utf-8","gb2312",$dir); if ($headle=opendir($dir)){ while ($file=readdir($headle)){ $file=iconv("gb2312","utf-8",$file); if ($file!='.' && $file!='..'){ echo "文件".$file."在文件夹".$dir."下<br />"; } } closedir($headle); }}refresh("D:/AppServ/www/test");?>

⑥ PHP遍历并打印指定目录下所有文件实例

这篇文章主要介绍了PHP遍历并打印指定目录下所有文件实例,需要的朋友可以参考下
代码如下:
<?php
//功能:遍历并打印指定目录下所有文件

function
scan_dir($dir_name,$dir_flag=1)
{
static
$FILE_COUNT=1;

//记录文件数目
初值为1
目录名称不记
$FILE_COUNT--;

//每调用一次scan_dir()函数自减1
@$dir_handle=opendir($dir_name);

//抑制错误信息显示
便于自定义错误显示
if(!$dir_handle)
die("目录打开错误!");
while(false!==($filename=readdir($dir_handle)))
//文件名为‘0'时,readdir返回
FALSE,判断返回值是否不全等
{

$flag=$dir_flag;

//古怪的
is_dir($filename)
!
$filename这个路径必须能够寻到!当$filename不存在或者不是目录时返回false

if($filename!='.'&&$filename!='..')

{

$FILE_COUNT++;

//不记录当前路径和上一级路径

while($flag>0&&--$flag)

//负数仍为真

echo
'
';

if(is_dir($dir_name.$filename))
//判断
是否为一个目录

{

echo
'<strong>'."<a
href=".$dir_name.$filename.">".$filename."</a></strong><br>";

scan_dir($dir_name.$filename.'/',$dir_flag+1);

//$dir_flag标志目录树层次

}

else

{

echo
"<a
href=".$dir_name.$filename.">".$filename."</a><br>";

}

}
}
closedir($dir_handle);

//关闭目录句柄
echo
"文件总数:".$FILE_COUNT.'<br>';
}

scan_dir('D:wampwwwtestlamp61');
//指定的文件路径
?>

⑦ php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹

最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:

/**
*遍历目录
*@paramstring$dir绝对/相对路径
*@paramstring$filter默认*返回所有文件及文件夹,*.php仅返回php文件,如果$patten为GLOB_BRACE可实现多文件筛选,如*.{php,html},返回php和html文件
*@paramconst$patten默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册
*@paramstring/bool$nocache防止本次调用的结果缓存上次的结果,如果一个脚本仅调用一次本函数,则不用管,否则得设个值
*@returnarray
*/
functionglobdir($dir,$filter='*',$patten=GLOB_BRACE,$nocache=null){
static$file_arr=array();
isset($nocache)&&$file_arr=array();
if(!is_dir($dir))return;
if($patten==GLOB_ONLYDIR){
$code='if(is_dir($file)){$file_arr[]=$file;globdir($file,"*",GLOB_ONLYDIR);}';
}else{
$code='is_file($file)?$file_arr[]=$file:globdir($file,"'.$filter.'",'.$patten.');';
}
array_walk(glob("{$dir}/{$filter}",$patten),create_function('$file,$k,$file_arr',$code),&$file_arr);
if($filter!='*'){
array_walk(glob("{$dir}/*",GLOB_ONLYDIR),create_function('$dir,$k,$param','list($filter,$patten)=explode("|",$param);globdir($dir,$filter,$patten);'),"{$filter}|{$patten}");
}
return$file_arr;
}

⑧ PHP怎么遍历一个文件夹下所有的文件,默认显示第一个内容。

在 php 语言里,列出一个文件夹下所有的文件,最简单的是使用 scandir 函数,示例如下:

<?php
$dir='/tmp';
$files1=scandir($dir);
print_r($files1);
?>


scandir 原型定义如下:

arrayscandir(string$directory[,int$sorting_order[,resource$context]])


第2个参数,可以将获取的文件列表按升、降序进行排序。

阅读全文

与php遍历文件内容相关的资料

热点内容
怎么拿到服务器权限 浏览:192
延时摄影app如何保存 浏览:195
程序员转正申请职级怎么写 浏览:874
closelinuxsocket 浏览:268
程序员0基础该怎么学 浏览:276
android支付宝支付原理 浏览:729
股票指标加密可以导入 浏览:935
怎样算法排卵期 浏览:803
小米如何加密第三方软件 浏览:232
安卓工程师有什么证书 浏览:788
小米相册截屏文件夹目录 浏览:552
scum怎么查看服务器的ip地址 浏览:457
程序员面试要那么长时间吗 浏览:63
程序员那么可爱有几集 浏览:721
韩顺平java入门到精通下载 浏览:880
c语音编译器苹果版 浏览:915
华为云服务器忙 浏览:432
9806h命令 浏览:726
无锡人怎么在APP里 浏览:810
安卓系统怎么让应用不保存缓存 浏览:482