【PHP5函数】
https://segmentfault.com/a/11...
本次要实现与上篇文章中同样效果的案例,即'百度一下'变为'Lin一下'.php
但这次使用的是php5的新增函数,较为推荐的:html
file_get_contents() //获取文件或远程地址的所有内容:本质fopen(),fread(),fclose() file_put_contents() //把数据存储为文件,但任意类型的数据存储后再次读取,都将是字符串:本质fopen(),fwrite(),fclose()
如上是我拎出来的方法,以下是手册中的详细说明(太详细,有点duo,尽可能讲白话。。。)segmentfault
string file_get_contents ( string $filename [, bool $use_include_path = false [, resource $context [, int $offset = -1 [, int $maxlen ]]]] ) int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )
代码实现浏览器
<?php header('content-type:text/html;charset=utf-8'); echo str_replace('百度','Lin',file_get_contents('http://www.baidu.com'));
效果展现app
不想展现,本地存储怎么破?函数
<?php header('content-type:text/html;charset=utf-8'); $dataStr = str_replace('百度','Lin',file_get_contents('http://www.baidu.com')); //获取数据,查找替换 $savePath = './baiduIndex.txt'; //存储路径 file_put_contents($savePath,$dataStr); //数据存储为文件
效果展现:当前目录下,会生成一个baiduIndex.txt存放查找替换后的http://www.baidu.com首页google
【文件遍历】
直接上函数编码
/** * 读取文件夹下的全部文件 * @param string $dir 目录名 */ function readAllFile($dir = ''){ if(!is_dir($dir)) die('非法的目录'); echo '<ul>'; //html标签在这里是为了目录输出的层次感 $r = opendir($dir); //文件读写三部曲:打开得到引用->读写->关闭资源 while(false !== ($file = readdir($r))){ //必须全等判断,以排除文件名为0,false的状况 if($file == '.' || $file=='..') continue; //无心义的输出,干掉 $file = iconv('gbk','utf-8',$file); //本地ansi是gbk的存储(chcp命令可查),输出到浏览器要转为utf-8,才不至乱码 echo '<li>'.$file.'</li>'; $file = iconv('utf-8','gbk',$file); //判断路径时,要还原编码 $path = $dir.'/'.$file; if(is_dir($path)) readAllFile($path); //若是子文件是个目录,就递归调用 } echo '</ul>'; closedir($r); //关闭资源 } //调用 readAllFile('./php/fileTest');
效果实现spa
【文件下载】
浏览器会尽量的解析,能解析的就直接输出,不能解析的就会如下载的方式来处理.firefox
header('content-type:text/html;charset=utf-8'); //旨在告诉浏览器,以html方式解析Dom
那么咱们能够利用http协议(header函数和响应头),告诉浏览器以怎样的方式来处理返回的数据。
这里,咱们以下载为例:
<?php header('content-type:application/octet-stream'); //1.返回:以二进制 $filename = 'down.php'; header("content-disposition:attachment;filename=$filename"); //2.处理:附件形式存储在down.php中 echo file_get_contents('one.php'); //3.输出:到浏览器
如何调用
做为一个请求地址,放到a标签,点击便可实现下载。 但若是直接运行呢?
效果实现
google
firefox