‘壹’ 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所在文件夹下的图片和mp3文件,并且显示出来
<?php
$dir="./";//要获取的目录
echo"**********获取目录下所有文件和文件夹***********<hr/>";
//先判断指定的路径是不是一个文件夹
if(is_dir($dir)){
if($dh=opendir($dir)){
while(($file=readdir($dh))!=false){
if(getFileType($file)=="mp3"){
echo"mp3格式";
}
if(getFileType($file)=="jpg"||getFileType($file)=="png"||getFileType($file)=="gif"){
echo"图片格式";
}
closedir($dh);
}
}
functiongetFileType($filename){
returnstrtolower(pathinfo($filename)['extension']);
}
?>
‘叁’ 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
//递归函数实现功能
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的glob() 函数返回匹配指定模式的文件名或目录。
该函数返回一个包含有匹配文件 / 目录的数组。如果出错返回 false。
语法
glob(pattern,flags)
参数
描述
file
必需。规定检索模式。
size
可选。规定特殊的设定。
GLOB_MARK - 在每个返回的项目中加一个斜线
GLOB_NOSORT - 按照文件在目录中出现的原始顺序返回(不排序)
GLOB_NOCHECK - 如果没有文件匹配则返回用于搜索的模式
GLOB_NOESCAPE - 反斜线不转义元字符
GLOB_BRACE - 扩充 {a,b,c} 来匹配 'a','b' 或 'c'
GLOB_ONLYDIR - 仅返回与模式匹配的目录项
GLOB_ERR - 停止并读取错误信息(比如说不可读的目录),默认的情况下忽略所有错误
注释:GLOB_ERR 是 PHP 5.1 添加的。
例子 1
<?php
$a=glob("*.txt");
print_r(count($a));
?>
‘陆’ 怎样用php读取一个目录下所有文件的文件名
functionoutput_file($path){
if($handle=opendir(realpath($path))){
while(false!==($file=readdir($handle))){
if($file==='.'||$file==='..'){
continue;
}
$this_file=$path.'/'.$file;
if(is_file($this_file)){
echo$file.PHP_EOL;
}
if(is_dir($this_file)){
$this->output_file($this_file);
}
}
closedir($handle);
}else{
echo'Opendirectoryfailed!';
}
}
‘柒’ php 怎样读取指定目录下面的所有文件
functiontreeDirectory($dir)
{
$files=array();
$dirpath=realpath($dir);
$filenames=scandir($dir);
foreach($filenamesas$filename)
{
if($filename=='.'||$filename=='..')
{
continue;
}
$file=$dirpath.DIRECTORY_SEPARATOR.$filename;
if(is_dir($file))
{
$files=array_merge($files,self::treeDirectory($file));
}
else
{
$files[]=$file;
}
}
return$files;
}
‘捌’ 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>';
?>
‘玖’ php中哪个函数可以取得某目录下的所有文件名
没有这样的函数,只能自己实现,下面是我常用的,这个不仅会获取到当前目录下的所有文件,而且还会遍历所有子文件夹下的文件。
<?php
functionread_all_dir($dir)
{
$result=array();
$handle=opendir($dir);
if($handle)
{
while(($file=readdir($handle))!==false)
{
if($file!='.'&&$file!='..')
{
$cur_path=$dir.DIRECTORY_SEPARATOR.$file;
if(is_dir($cur_path))
{
$result['dir'][$cur_path]=read_all_dir($cur_path);
}
else
{
$result['file'][]=$cur_path;
}
}
}
closedir($handle);
}
return$result;
}
?>