第六章 php目录与文件操作
一.目录操作
代码如下: $fp = fopen('file1.txt','w'); $outStr = "my name is anllin,rnmy age is 29."; fwrite($fp,$outStr,strlen($outStr)); fclose($fp); ?> output my name is anllin, my age is 29. 2.php5新加入的方法 file_put_contents -- 将一个字符串写入文件 代码如下: file_put_contents('file2.txt',"my name is anllin,rnmy age is 29."); ?> output my name is anllin, my age is 29. 读出文件内容的方法:
my name is anllin, my age is 29. fgetc -- 从文件指针中读取字符 Demo.php 代码如下: $fp = fopen('file1.txt','r'); echo fgetc($fp); echo fgetc($fp); fclose($fp); ?> Output: my fgets -- 从文件指针中读取一行 代码如下: $fp = fopen('file1.txt','r'); echo fgets($fp); echo fgets($fp); fclose($fp); ?> output my name is anllin,my age is 29. fgetss -- 从文件指针中读取一行并过滤掉 HTML 标记 代码如下: $fp = fopen('file3.txt','w'); $outStr = "my name is anllin"; fwrite($fp,strlen($outStr)); fclose($fp); $ftp = fopen('file3.txt','r'); echo fgetss($ftp); fclose($ftp); ?> Output my name is anllin fread -- 读取文件(可安全用于二进制文件) 代码如下: $filename = 'file1.txt'; $fp = fopen($filename,'r'); $contents = fread($fp,filesize($filename)); echo $contents; fclose($fp); ?> Output my name is anllin,my age is 29. fpassthru -- 输出文件指针处的所有剩余数据 代码如下: $filename = 'file1.txt'; $fp = fopen($filename,'rb'); $leftSize = fpassthru($fp); echo $leftSize; fclose($fp); ?> output my name is anllin,my age is 29. 33 file -- 把整个文件读入一个数组中 代码如下: $lines = file('file1.txt'); foreach ($lines as $line_num => $line) { echo $line_num.' : '.$line.' '; } ?> output 0 : my name is anllin, 1 : my age is 29. readfile -- 输出一个文件 代码如下: $size = readfile('file1.txt'); echo $size; ?> output my name is anllin,my age is 29.33 file_get_contents -- 将整个文件读入一个字符串(php5.0新增) 代码如下: $contents = file_get_contents('file1.txt'); echo $contents; ?> output my name is anllin,my age is 29. feof -- 测试文件指针是否到了文件结束的位置 代码如下: $fp = fopen('file1.txt','r'); while(!feof($fp)) { echo fgetc($fp); } fclose($fp); ?> output my name is anllin,my age is 29. file_exists -- 检查文件或目录是否存在 代码如下: $filename = 'file1.txt'; if(file_exists($filename)) { echo '执行文件读写操作'; } else { echo '你要找的文件不存在'; } ?> output 执行文件读写操作 filesize -- 取得文件大小 代码如下: $file_size = filesize('file1.txt'); echo $file_size; ?> output 33 unlink -- 删除文件 代码如下: $isDeleted = unlink('file3.txt'); echo $isDeleted; ?> output 1 rewind -- 倒回文件指针的位置 ftell -- 返回文件指针读/写的位置 fseek -- 在文件指针中定位 代码如下: $fp = fopen ( 'file1.txt','r' ); fgetc ( $fp ); fgetc ( $fp ); echo ftell ( $fp ) . ' '; rewind ( $fp ); echo ftell ( $fp ) . ' '; fgetc ( $fp ); fgetc ( $fp ); echo ftell ( $fp ) . ' '; fseek($fp,0);//same as rewind ($fp) echo ftell ( $fp ) . ' '; ?> output 2 0 2 0 Flock的操作值
代码如下: $filename = 'file1.txt'; $fp = fopen($filename,'rb'); flock($fp,LOCK_EX);//locked $contents = fread($fp,filesize($filename)); flock($fp,LOCK_UN);//unlocked echo $contents; fclose($fp); ?> output my name is anllin,my age is 29. 目录句柄操作 opendir -- 打开目录句柄 readdir -- 从目录句柄中读取条目 closedir -- 关闭目录句柄 代码如下: $dir= opendir('../Basic6'); while(!!$file = readdir($dir)) { echo $file.' '; } closedir($dir); ?> output . .. .buildpath .project .settings demo1.php demo10.php demo11.php demo12.php demo13.php demo14.php demo15.php demo16.php demo17.php demo18.php demo19.php demo2.php demo20.php demo3.php demo4.php demo5.php demo6.php demo7.php demo8.php demo9.php file1.txt file2.txt scandir -- 列出指定路径中的文件和目录 代码如下: $files = scandir('../Basic6'); foreach($files as $file) { echo $file.' '; } ?> output . .. .buildpath .project .settings demo1.php demo10.php demo11.php demo12.php demo13.php demo14.php demo15.php demo16.php demo17.php demo18.php demo19.php demo2.php demo20.php demo21.php demo3.php demo4.php demo5.php demo6.php demo7.php demo8.php demo9.php file1.txt file2.txt rename -- 重命名一个文件或目录 代码如下: rename('demo1.php','demo01.php'); if(file_exists('demo01.php')) { echo 'file rename success'; } else { echo 'file rename fail'; } ?> output file rename success rmdir -- 删除目录 代码如下: rmdir('123'); if(file_exists('123')) { echo 'delete file fail'; } { echo 'delete file success'; } ?> output delete file success (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |