PHP中读取某个目录下的文件

 更新时间:2016年11月25日 17:34  点击:1824

<?php
/* purpose:读取某个目录下的文件 */

//要读取的目录
$folder="H:/temp";

//打开目录
$fp=opendir($folder);

//阅读目录
while(false!=$file=readdir($fp))
{
//列出所有文件并去掉'.'和'..'
if($file!='.' &&$file!='..')
{
//$file="$folder/$file";
$file="$file";

//赋值给数组
$arr_file[]=$file;

}
}
//输出结果
if(is_array($arr_file))
{
while(list($key,$value)=each($arr_file))
{
echo "$key=>$value<br>";
}

}

//关闭目录

closedir($fp);

?>


----------------------
读取某个目录下的文件2


<?php

/* purpose:读取某个目录下的文件二*/

function listFiles($dir)
{
//打开目录


$handle=opendir($dir);

//阅读目录

while(false!=($file=readdir($handle)))

{
//列出所有文件并去掉'.'和'..'

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

{

//所得到的文件名是否是一个目录

if(is_dir("$dir/$file"))

{
//列出目录下的文件

listFiles("$dir/$file");

}

else

function ubb2xhtml($ubb)
{
$flash=<<<END
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="%1$d" height="%2$d">
<param name="movie" value="%3$s" />
<param name="quality" value="high" />
<embed src="%3$s" width="%1$d" height="%2$d" quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>
END;
$match = array
(
'%[url=([^s] )](.*?)[/url]%s',
'%[email=([^s]) ](.*?)[/email]%i',
'%[img width=(d ) height=(d )](.*?)[/img]%s',
'%[img=([^s] )/]%s',
'%[flash width=(d ) height=(d )](.*?)[/flash]%se',
'%[(b|i|u|strike|sup|sub)](.*?)[/1]%s',
'%[h([1-6])](.*?)[/h1]%s',
'%[hr/]%s',
'%[color=([^s] )](.*?)[/color]%s',
'%[font=([^"] )](.*?)[/font]%s',
'%[size=([^s] )](.*?)[/size]%s',
'%[align=(center|right|left)](.*?)[/align]%s',
'%[valign=(middle|top|bottom)](.*?)[/valign]%s',
/*
'%[ul](.*?)[/ul]%s',
'%[ul=(circle|disc|square)](.*?)[/ul]%s',
'%[ol](.*?)[/ol]%s',
'%[ol type=([aAiI1]) start=([a-zA-Z1-9])](.*?)[/ol]%s',
'%[li](.*?)[/li]%s',
*/
'%[table=([^s] ?)](.*?)[/table]%s',
'%[caption](.*?)[/caption]%s',
'%[tr=([^s] ?)](.*?)[/tr]%s',
'%[th](.*?)[/th]%s',
'%[td](.*?)[/td]%s',
'%[note](.*?)[/note]%s',
'%[quote=(.*?)](.*?)[/quote]%s',
'%[code](.*?)[/code]%s',
'%[ ]{2}%s', // make double-spaces truly double-spaces!
);

chdir : 改变目录。
dir : 目录类别类。
closedir : 关闭目录 handle。
opendir : 打开目录 handle。
readdir : 读取目录 handle。
rewinddir : 重设目录 handle。

chdir
改变目录。
语法: int chdir(string directory);
返回值: 整数
函数种类: 文件存取
内容说明 本函数用来改变目前 PHP 执行的目录到新的 directory 目录中。若无法改变则返回 false,成功则返回 true。

dir
目录类别类。
语法: new dir(string directory);
返回值: 类
函数种类: 文件存取
内容说明 这是一个类似面向对象的类别类,用来读取目录。当目录参数 directory 打开之后,有二个属性可用:handle 属性就像其它非类的函数所用的 readdir()、rewinddir() 及 closedir();path 属性则配置打开目录后的路径参数。本类有三个方法 (method):read、rewind 与 close。

使用范例
<?
$d = dir("/etc");
echo "Handle: ".$d->handle."<br>n";
echo "Path: ".$d->path."<br>n";
while($entry=$d->read()) {
echo $entry."<br>n";
}
$d->close();
?>

closedir
关闭目录 handle。
语法: void closedir(int dir_handle);
返回值: 无
函数种类: 文件存取
内容说明
本函数用来关闭目录资料流的 dir_handle。这个 dir_handle 参数所操作的目录必须要 opendir() 打开的方可使用。

opendir
打开目录 handle。
语法: int opendir(string path);
返回值: 整数
函数种类: 文件存取
内容说明
本函数用来打开目录资料流。返回的整数是可供其它目录函数操作的 handle。

readdir
读取目录 handle。
语法: string readdir(int dir_handle);
返回值: 字符串
函数种类: 文件存取
内容说明 本函数用来读取目录。返回目录中的文件名称,读取不照任何非凡的顺序。
使用范例 本例列出目前目录的所有文件
<?php
$handle=opendir('.');
echo "目录 handle: $handle ";
echo "文件: ";
while ($file = readdir($handle)) {
echo "$file ";
}
closedir($handle);
?>

rewinddir
重设目录 handle。
语法: void rewinddir(int dir_handle);
返回值: 无
函数种类: 文件存取
内容说明 本函数用来重设目录资料流到开始处。

<?php
/**
* Object
* base class
*/
class Object
{
/* 是否输出调试信息 */
var $debug = true;

/**
* Object
* @deprecated 析构方法
*
* @return void
*/
function Object()
{
//用户是否从主页进入,做判定
if ( !defined( 'INDEX' ) )
{
die( "Hacking attempt" );
}
//echo 'create Object success!';
}

/**
* msg_die
* @deprecated 调试信息输出
* @param string
* @return void
*/
function msg_die( $info , $file , $line )
{
if( $this->debug )
{
$format = "There is happen error information: %s .".
" the file name: %s , on line : %s . ";
printf( $format , $info , $file , $line );
$error = debug_backtrace();
print_r ( $error[0] );
}
}

/**
* setDebug
* @deprecated 设置是否输出调试信息
* @param boolean true or false
* @return void
*/
function setDebug( $bool )
{
$this->debug = is_bool( $bool ) ? $bool : false ;
}

/**
* getDebug * @deprecated 查看是否打开调试信息
* @param void
* @return boolean
*/
function getDebug()
{
return $this->debug;
}
}
?>

  在页面上显示大量数据,是WEB项目中很常见的一个作法,但限于屏幕的大小,为了便于用户阅读,我们通常需要将数据分页显示,所以分页功能是大部份项目不可缺少的。PEAR::Pager是一个功能强大的分页类,使用非常方便。

  系统需求:PHP4.3.* /PHP5,PEAR::Pager

  PEAR::Pager有两种分页显示模式,一是Jumping,二是Sliding。两者有什么区别,我们来看两个例子:

Jumping.php


<?php

require_once 'Pager/Pager.php';

$params = array(
'mode' => 'Jumping',
'perPage' => 3,
'delta' => 5,
'itemData' => array('a','b','c','d','e','z','ty','xc','fg','fg','jk','hj','ty','xc','e','z','ty','xc','fg','fg','jk','hj','ty','xc')
);

echo "<BR>当前分页模式:".$params['mode'];
echo "<BR>每页显示数据条数:".$params['perPage'];
echo "<BR>显示页数:".$params['delta'];
echo "<BR>具体数据数组:";
print_r($params['itemData']);


$pager = & Pager::factory($params);
$data = $pager->getPageData();
$links = $pager->getLinks();

echo "<P>最后效果:";
echo $links['all'];
echo $pager->linkTags;

echo '<P>当前页的数据: ' ;
echo "<pre>";
print_r($data);
echo "</pre>";

echo "其它类方法得到的数据:<P>";
echo 'getCurrentPageID()...: ';
var_dump($pager->getCurrentPageID());
echo "<BR>";
echo 'getNextPageID()......: ';
var_dump($pager->getNextPageID());
echo "<BR>";
echo 'getPreviousPageID()..: ';
var_dump($pager->getPreviousPageID());
echo "<BR>";
echo 'numItems()...........: ';
var_dump($pager->numItems());
echo "<BR>";
echo 'numPages()...........: ';
var_dump($pager->numPages());
echo "<BR>";
echo 'isFirstPage()........: ';
var_dump($pager->isFirstPage());
echo "<BR>";
echo 'isLastPage().........: ';
var_dump($pager->isLastPage());
echo "<BR>";
echo 'isLastPageComplete().: ';

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 解决Pycharm的项目目录突然消失的问题

    今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07