当前位置: 首页 > 后端技术 > PHP

有趣的文件编程

时间:2023-03-30 05:43:38 PHP

【PHP5功能】https://segmentfault.com/a/11...这次我们要实现和上篇案例一样的效果,就是'百度看'变成'linlook'.不过我这次用的是php5的新功能,比较推荐:file_get_contents()//获取文件或远程地址的所有内容:本质上是fopen(),fread(),fclose()file_put_contents()//把数据存储为文件,但是任何类型的数据存储再读取,都会是一个字符串:fopen()、fwrite()、fclose()的本质就是我上面挑出来的方法,而下面是说明书中的详细说明(太详细了,有点duo,尽量说白话...)stringfile_get_contents(string$filename[,bool$use_include_path=false[,resource$context[,int$offset=-1[,int$maxlen]]]])intfile_put_contents(string$filename,mixed$data[,int$flags=0[,resource$context]])代码实现';//html标签在这里是为了目录输出的分层$r=opendir($dir);//文件读写三部曲:打开获取引用->读写->关闭资源while(false!==($file=readdir($r))){//必须全等才能排除大小写其中文件名为0,falseif($file=='.'||$file=='..')continue;//无意义的输出,去掉$file=iconv('gbk','utf-8',$file);//本地ansi是gbk的存储(chcp命令可以查),输出到浏览器一定要转为utf-8,以免乱码echo'

  • '.$file.'
  • ';$file=iconv('utf-8','gbk',$file);//判断路径时,还原代码$path=$dir.'/'.$file;如果(is_dir($path))readAllFile($path);//如果子文件是目录,则递归调用}echo'';closedir($r);//关闭资源}//调用readAllFile('./php/fileTest');效果实现[文件下载]浏览器会尽量解析,能解析就直接输出,不能解析就显示为下载方式处理。header('content-type:text/html;charset=utf-8');//旨在告诉浏览器解析html中的Dom,那么我们可以使用http协议(headerfunction和responseheader),告诉浏览器如何处理返回的数据这里以下载为例: