当前位置:  编程技术>php
本页文章导读:
    ▪php读取目录列表与文件列表的代码举例      代码如下:   代码示例: <?php /**  * getDir()去文件夹列表 * getFile()去对应文件夹下面的文件列表 * 二者的区别在于判断有没有“.”后缀的文件,其他都一样 * edit www.  */ //获取文件目.........
    ▪php文件操作之读取与写入文件      一,PHP读取文件 PHP可以读取当前服务器或远程服务器中的文件。 步骤:打开文件、读文件和关闭文件。 1,PHP打开文件 使用PHP函数fopen()打开一个文件,fopen()一般使用2个参数表示打开文件.........
    ▪PHP 读取文件的常见方法汇总      1、fread方法 string fread ( int $handle , int $length ) fread() 从 handle 指向的文件中读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时.........

[1]php读取目录列表与文件列表的代码举例
    来源: 互联网  发布时间: 2013-12-24

代码如下:
 

代码示例:

<?php
/**
 * getDir()去文件夹列表
* getFile()去对应文件夹下面的文件列表
* 二者的区别在于判断有没有“.”后缀的文件,其他都一样
* edit www.
 */

//获取文件目录列表,该方法返回数组
function getDir($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;
}

//获取文件列表
function getFile($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")……可以是绝对路径也可以是相对路径
?>


    
[2]php文件操作之读取与写入文件
    来源: 互联网  发布时间: 2013-12-24

一,PHP读取文件
PHP可以读取当前服务器或远程服务器中的文件。
步骤:打开文件、读文件和关闭文件。

1,PHP打开文件
使用PHP函数fopen()打开一个文件,fopen()一般使用2个参数表示打开文件的路径和文件模式。比如:
$fp=fopen("../xxx.txt",'w');

其中 "../xxx.txt" 就表示打开的xxx.txt文件的路径(相对当前执行程序文件的路径),'w'表示以只写的方式打开该文本文件。

附录:fopen()函数的文件模式总结
r    只读——读模式,打开文件,从文件头开始读
r+    可读可写方式打开文件,从文件头开始读写
w    只写——写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件已经存在,将删除文件已有内容;如果该文件不存在,则建立该文件
w+    可读可写方式打开文件,同时把该文件内容清空,把文件指针指向文件开始处。如果该文件不存在,则建立该文件
a    追加    以只写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
a+    追加    以可读可写方式打开文件,把文件指针指向文件末尾处。如果该文件不存在,则建立该文件
b    二进制    用于于其他模式进行连接。建议使用该选项,以获得更大程度的可移植性

注意,如果fopen()函数调用失败,函数将返回false。否则返回指针数据。所以一般在打开了文件后\读写文件前需要检测下文件是否存在。
 

代码示例:
<?php
@ $fp=fopen("http://www./abc123",'w');
if (!$fp)
{
    echo'文件不存在';
    exit;
}
?>
 

其中@符号表示PHP将抑制所有由当前函数调用产生的错误。

2,PHP读文件
在PHP打开了文件之后就需要对文件进行读取,一般是使用fgets()函数。

该函数可以从文件中每次读取一行内容,其不断读入数据,值到遇到本行的换行符,或者全文的结束符号EOF。

介于fgets()函数只能读取一行数据,所以若需要读取文件的所有数据,须使用循环语句来完成。比如:
 

代码示例:
while (!feof($fp))
{
    $bruce=fgets($fp);
    echo $bruce;
}

其中feof()函数是用来检测文件是否结束的。该函数唯一参数就是文件指针(即$fp对应打开的文件)。
当然,在PHP中还可以使用readfile()函数一次读取整个文件。该函数包括了打开文件、读取文件并输出到浏览器中和关闭文件。比如:
 

代码示例:
<?php
$bruce=readfile("http://www.");
echo $bruce;
?>

3,PHP关闭文件

使用函数fclose()就可以将文件关闭。

二,PHP如何写数据到文件

与PHP读取文件一样,PHP写入文件也需要:打开文件、写入数据和关闭文件。打开和关闭文件的方法上面已经说明,那PHP中写入数据到文件是怎样的呢。

使用fwrite()函数,比如fwrite(文件路径,写入内容):
 

代码示例:
<?php
$bruce=fopen("http://www./","r");
if(!$bruce)
{
    echo'文件不存在';
    exit;
}
while (!feof($bruce))
{
    $rose=fgets($bruce);
        $james=fopen("index.htm","a");
        fwrite($james,$rose);
        fclose($james);
}
fclose($bruce);
?>
<a href="/blog_article/index.htm">将的内容生成了本地文件</a>

其他有用的文件函数:
file_exists():查看文件是否存在,返回布尔值
filesize():查看文件大小,可直接echo输出
unlink():删除文件,注意PHP中没有delete函数。


    
[3]PHP 读取文件的常见方法汇总
    来源: 互联网  发布时间: 2013-12-24

1、fread方法
string fread ( int $handle , int $length )
fread() 从 handle 指向的文件中读取最多 length 个字节。该函数在读取完最多 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时,或(在打开用户空间流之后)已读取了 8192 个字节时就会停止读取文件,视乎先碰到哪种情况。

fread() 返回所读取的字符串,如果出错返回 FALSE。
 

代码示例:
<?php
    $filename = "/usr/local/something.txt";
    $handle = fopen($filename, "r");//读取二进制文件时,需要将第二个参数设置成'rb'
   
    //通过filesize获得文件大小,将整个文件一下子读到一个字符串中
    $contents = fread($handle, filesize ($filename));
    fclose($handle);
?>
 

  如果所要读取的文件不是本地普通文件,而是远程文件或者流文件,就不能用这种方法,因为,filesize不能获得这些文件的大小。此时,你需要通过feof()或者fread()的返回值判断是否已经读取到了文件的末尾。

例如:
 

代码示例:
<?php
    $handle = fopen('http://www.', 'r');
    $content = '';
    while(!feof($handle)){
        $content .= fread($handle, 8080);
    }
    echo $content;
    fclose($handle);
?>
 

或者:
 

代码示例:
<?php
    $handle = fopen('http://www.', 'r');
    $content = '';
    while(false != ($a = fread($handle, 8080))){//返回false表示已经读取到文件末尾
        $content .= $a;
    }
    echo $content;
    fclose($handle);
?>
 

 
2、fgets方法
string fgets ( int $handle [, int $length ] )
fgets()从 handle 指向的文件中读取一行并返回长度最多为 length - 1 字节的字符串。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)。如果没有指定 length,则默认为 1K,或者说 1024 字节。
 

代码示例:
<?php
    $handle = fopen('./file.txt', 'r');
    while(!feof($handle)){
        echo fgets($handle, 1024);
    }
    fclose($handle);
?>
 

说明: length 参数从 PHP 4.2.0 起成为可选项,如果忽略,则行的长度被假定为 1024。从 PHP 4.3 开始,忽略掉 length 将继续从流中读取数据直到行结束。如果文件中的大多数行都大于 8KB,则在脚本中指定最大行的长度在利用资源上更为有效。从 PHP 4.3 开始本函数可以安全用于二进制文件。早期的版本则不行。

3、fgetss方法
string fgetss ( resource $handle [, int $length [, string $allowable_tags ]] )
跟fgets功能一样,但是fgetss会尝试从读取的文本中去掉任何 HTML 和 PHP 标记,可以用可选的第三个参数指定哪些标记不被去掉。
 

代码示例:
<?php
    $handle = fopen('./file.txt', 'r');
    while(!feof($handle)){
        echo fgetss($handle, 1024, '<br>');
    }
    fclose($handle);
?>

4、file
array file ( string $filename [, int $use_include_path [, resource $context ]] )
将文件内容读入一个数组中,数组的每一项对应文件中的一行,包括换行符在内。不需要行结束符时可以使用 rtrim() 函数过滤换行符。
 

代码示例:
<?php
    $a = file('./file.txt');
    foreach($a as $line => $content){
        echo 'line '.($line + 1).':'.$content;
    }
?>

5、readfile方法
int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )
读入一个文件并写入到输出缓冲。返回从文件中读入的字节数。如果出错返回 FALSE 并且除非是以 @readfile() 形式调用,否则会显示错误信息。
 

代码示例:
<?php
    $size = readfile('./file.txt');
    echo $size;
?>


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
建站其它 iis7站长之家
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3