资讯专栏INFORMATION COLUMN

有趣的文件编程

supernavy / 1981人阅读

【PHP5函数】
https://segmentfault.com/a/11...
本次要实现与上篇文章中一样效果的案例,即"百度一下"变为"Lin一下".

但此次使用的是php5的新增函数,较为推荐的:

file_get_contents()    //获取文件或远程地址的全部内容:本质fopen(),fread(),fclose()
file_put_contents()    //把数据存储为文件,但任意类型的数据存储后再次读取,都将是字符串:本质fopen(),fwrite(),fclose()

如上是我拎出来的方法,如下是手册中的详细说明(太详细,有点duo,尽量讲白话。。。)

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 ]] )

代码实现


效果展示

不想展示,本地存储怎么破?


效果展示:当前目录下,会生成一个baiduIndex.txt存放查找替换后的http://www.baidu.com首页

【文件遍历】
直接上函数

 /**
 * 读取文件夹下的所有文件
 * @param string $dir   目录名
 */
function readAllFile($dir = ""){
    if(!is_dir($dir)) die("非法的目录");
    echo "
    "; //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 "
  • ".$file."
  • "; $file = iconv("utf-8","gbk",$file); //判断路径时,要还原编码 $path = $dir."/".$file; if(is_dir($path)) readAllFile($path); //如果子文件是个目录,就递归调用 } echo "
"; closedir($r); //关闭资源 } //调用 readAllFile("./php/fileTest");

效果实现

【文件下载】
浏览器会尽可能的解析,能解析的就直接输出,不能解析的就会以下载的方式来处理.

header("content-type:text/html;charset=utf-8");    //旨在告诉浏览器,以html方式解析Dom

那么我们可以利用http协议(header函数和响应头),告诉浏览器以怎样的方式来处理返回的数据。
这里,我们以下载为例:

 

如何调用

作为一个请求地址,放到a标签,点击即可实现下载。
但如果直接运行呢?

效果实现
google

firefox

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25892.html

相关文章

  • 使用Python挖掘GitHub流行趋势(下)

    摘要:我们将数据帧转换为基于列的时间序列然后,我们使用聚合方法按语言和年份重构数据,并按语言计算出现次数我们在条形图上表示结果上图显示了汇编,,中的多种编程语言,,和移动语言,以及,和等现代语言。使用集合将确保我们具有唯一的值。 showImg(https://segmentfault.com/img/remote/1460000018986014?w=1800&h=696); 来源 | ...

    dack 评论0 收藏0
  • 2018年你们最爱编程语言发生了什么有趣变化?

    摘要:本次报告相关的内容包括编程语言趋势新增开源项目语言分布及功能分布最热门开源项目国内开发者地域年龄性别分布数据来源于码云全站项目统计结果 近日,码云 Gitee 发布了2018年度报告,对编程语言趋势、最受欢迎的开源项目情况都做了数据统计和结果展示,可以让开发者从中透视本土开源现状,快速了解国内开源生态。本次报告相关的内容包括: 2018编程语言趋势 2018新增开源项目语言分布及功能...

    赵春朋 评论0 收藏0
  • 2018-某熊技术之路: 做些有趣产品

    摘要:某熊的技术之路做些有趣的产品年初的时候,我就在想,今年的主题词是什么上半年考虑的较多的是所谓研发效能的提升,下半年却渐渐发现自己更多的会在想产品这两个字。 showImg(https://segmentfault.com/img/remote/1460000016874425); 2018-某熊的技术之路: 做些有趣的产品 年初的时候,我就在想,今年的主题词是什么;上半年考虑的较多的是...

    30e8336b8229 评论0 收藏0
  • Python 五个有趣彩蛋,你都知道吗?

    摘要:通常,这意味着社区的贡献者会为该语言添加一些有趣和特别的彩蛋以及隐藏的特性当然前提是不会增加在生产环境中使用的风险。据传这是中的八荣八耻,每个有追求的程序员都应该谨记于心。可读性应当被重视。面对不明确的定义,拒绝猜测的诱惑。 阅读文本大概需要 6.6 分钟。 当一门编程语言是开源的时候,往往会有产生一些搞笑和有趣的东西。通常,这意味着社区的贡献者会为该语言添加一些有趣和特别的彩蛋以及隐...

    kohoh_ 评论0 收藏0
  • 有趣 DApp 设计模式:First-class Asset

    摘要:使用模型的代表是比特币。每一个比特币全节点都会维护当前所有的集合,这个集合我们就称为比特币账本的当前状态即当前的账本。每一次比特币转账都是一个从集合中删除几个硬币属于付款方然后又增加几个新硬币属于收款方和或付款方的过程。 showImg(https://segmentfault.com/img/bVblzCB?w=1219&h=803); 本篇文章的作者是 Jan,文章阐述了 Cell...

    omgdog 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<