c语言怎么创建文件 网站建设中PHP的编程8种常见文件操作
网站建设中PHP的编程8种常见文件操作
文件和目录的操作
PHP处理本地服务器上的文件和目录是非常方便的 但有时候会出现权限和路径相关的问题 打开文件 resource fopen ( string filename string mode [ bool use_include_path [ resource zcontext]] ) $handle = fopen(filename mode)//打开文件 返回代表此文件的资源的句柄 文件名称可以使用相对路径或者绝对路径也可以使用网络协议模式 打开模式具有rr+ww+aa+xx+b 在操作二进制文件时如果没有指定 b 标记 可能会碰到一些奇怪的问题 包括坏掉的图片文件以及关于 rn 字符的奇怪问题 为移植性考虑 强烈建议在用 fopen() 打开文件时总是使用 b 标记 以下是几种打开文件的方式 $fp = @fopen( log txt "rb"); $fp = @fopen( /log txt "rb"); $fp = @fopen(" "rb");//还可以使用ftp和ghoper等协议 必须启用php ini文件中的allow_url_fopen选项 ////////////////////////////代码部分//////////////////////////////////////// $filename = "userinfo txt";//目录下或include_path中存在这个文件 $filename = "test txt";//目录下或include_path并不存在这个文件 $resource = fopen($filename "rb"); @$resource = fopen($filename "rb");//因为目录中不存在这个文件 并且并未使用或include_path寻找包含文件所在路径则此操作会报错 使用错误抑制符@可以迫使浏览器不输出错误信息 if($resource ) echo "打开文件{$filename }成功"; if(!@fopen($filename "r")) echo "打开文件{$filename }不成功"; ////////////////////////////////////////////////////////////////////////// 输出结果 打开文件userinfo txt成功 使用完毕文件后 要显式的告诉PHP已经使用完文件 让操作系统确保将文件的所有内容正确地从缓冲区刷新到硬盘 使用fclose()关闭文件 bool fclose ( resource handle )//关闭一个已打开的文件指针
读取文件 fopen函数的mode参数允许读取 PHP提供了几个函数从文件读取数据 string fgets ( int handle [ int length] )从文件指针中读取一行 在二进制文件上尝试fgets会产生不可预测的结果 如果不指定长度 默认读取 K数据 碰到换行符(包括在返回值中) EOF 或者已经读取了 length 字节后停止 string fgetss ( resource handle [ int length [ string allowable_tags]] )从文件指针中读取一行并过滤掉 HTML 标记 fgetc()读取单个字符 fread()读取任意二进制数据 ////////////////////////////代码部分//////////////////////////////////////// $handle = fopen ("test jpg" "rb"); $c; while (!feof($handle)) { $contents = @fread($handle );//循环读取并将其合并为一个大块文件 } fclose($handle); ////////////////////////////////////////////////////////////////////////// 输出结果 判断文件读取的状态 每个文件句柄都有一个文件指针 或者一个指出下一个操作将在文件中哪里发生的游标 根据fopen函数的mode参数 文件指针最初位于文件的开头( ) 或者文件的末尾 feof()可以判断文件是否已经到末尾(到末尾后函数返回TRUE) filesize()函数返回文件的大小 写入文件 fwrite()函数执行文件写入 ////////////////////////////代码部分//////////////////////////////////////// $filename = test txt ; $somec;
// 首先我们要确定文件存在并且可写 if (is_writable($filename)) { // 在这个例子里 我们将使用添加模式打开$filename // 因此 文件指针将会在文件的开头 // 那就是当我们使用fwrite()的时候 $somecontent将要写入的地方 if (!$handle = fopen($filename a )) { echo "不能打开文件 $filename"; exit; } // 将$somecontent写入到我们打开的文件中 if (fwrite($handle $somecontent) === FALSE) { echo "不能写入到文件 $filename"; exit; } echo "成功地将 $somecontent 写入到文件$filename"; fclose($handle); } else { } echo "文件 $filename 不可写"; ////////////////////////////////////////////////////////////////////////// 输出结果 成功地将 添加这些文字到文件 写入到文件test txt 对于二进制数据 必须指定第三个参数 它包含写入到磁盘的数据字节数 $result = @fwrite($fp $binary_data mb_strlen($binary_data bit ));

lishixinzhi/Article/program/PHP/201311/20983