file_get_contents函数应用小技巧

file_get_contents函数是PHP用于读取文件内容的函数,它不仅可以读取本地文件,也可以读取远程文件,大多用于内容获取和信息采集等方面的工作,那么你知道它有一个超酷的玩法吗?知道了这个小技巧你的程序将更加安全可靠,COOL吧!下面我来介绍一下。

3b87e950352ac65c7aeeb9d6f7f2b21192138aa8

工具/原料

  • 工具方面:记事本、Sublime text、Dreamweaver等等
  • 环境方面:本地PHP环境即可。

方法/步骤

  1. 首先让我们双击图标(OPEN)开发工具,如下图:

    dbb44aed2e738bd4a9bc6c94ad8b87d6267ff9f2
  2. 让我们创建两个新的PHP文件保存在环境下,名字任意即可,这里我创建的文件名为test.php和file.php,等下其中test.php要读取file.php中的内容。

    b151f8198618367acfd3a67822738bd4b31ce539
  3. 让我们在flie.php文件中写入以下内容:

    ———————————————————

    <?php exit(); ?> 这里是我们要获取的内容。

    ———————————————————

    可能这里有人会问为什么要在内容前面加入exit(); ,其实原因很简单,因为我们不想被别人取得file.php的内容,使信息传递更加安全。这样做最大的好处是,当别人访问到我们的file.php页时,我们返回给用户的是空白页,用户是无法直接看到页面内容,即使查看源代码也不行,如下图:

    91529822720e0cf391d7955e0646f21fbe09aa77
  4. 接下来,我们就要通过file_get_contents函数来获取file.php文件里的内容啦,在test.php文件中写入以下内容:

    ———————————————————

    $content = file_get_contents(“file.php”);

    echo $content;

    ———————————————————

    完成后,保存文件并查看运行结果如下图

    54fbb2fb43166d22721fcf314a2309f79052d22f
  5. test.php页面的执行结果已经成功获取了flie.php文件中的内容并输出到浏览器上了。

    我们是不是成功了呢?

    这不就是file_get_contents最普遍的用法吗?有什么特殊的呢?

    带着以上两个问题,我们查看该页面的源文件,如下图

    dc54564e9258d1091a4c6c17dd58ccbf6d814dec
  6. 程序将<?php exit(); ?>也获取了回来,如果你看到了这个,恭喜你,你的程序已经无法继续往下执行了。

    当我们取得file.php内容的同时,我们的程序会被 exit();终止,无法继续执行。

    那么这里我们改变一种写法,使file_get_contents真的酷起来。

  7. 我们将test.php文件中的内容做如下修改:

    ———————————————————

    $content = trim(substr(file_get_contents(“file.php”),15));

    echo $content;

    ———————————————————

    接下来,我们看一下程序执行结果和源文件的对比,如下图:

    cb8065380cd79123fb0053d1a1345982b3b780b7
  8. 结果很酷吧,我们取得了想要的内容,程序也不会被终止,其他用户直接访问该页又看不到我们存放在页面里的信息。有没有一举三得的感觉?

    我们是怎么做到的呢?在刚刚的修改中,首先我们用了trim函数将空格去掉,然后又使用substr函数过滤掉了前15位从第16位开始获取信息,那前15位不用说大家可能也想到了,就是那个exit();嘛。

    就此,我们就完成了本次超酷的旅行,感谢大家对我的支持。

    END

注意事项

  • 在存放信息的页面最前端顶格写入
  • 获取页面15位以后的内容
Posted in PHP