文档章节

php 读取文件自身内容,与读取文件输出内容

h
 hanbingtel
发布于 2015/06/12 19:17
字数 564
阅读 3
收藏 0
一,读取文件
先解释一下,什么是读取文件本身,什么叫读取文件输入内容。举个例子test.php里面的内容<?php  echo "test"; ?>
1,读取文件本身就是读取文件内所有内容,读取后就能得到<?php  echo "test"; ?>
2,读取文件输出内容是读取文件所表现出来的东西,读取后得到test
二,fopen方法
1,读取文件本身
<?php
$filename = "test.php";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize ($filename));
fclose($handle);
echo strlen($contents);
?>
2,读取文件输出内容
<?php
$filename = "http://localhost/test/test.php";
$handle = fopen($filename, "r");
$contents = "";
while (!feof($handle)) {
 $contents .= fread($handle, 8192);
}
fclose($handle);
echo strlen($contents);
?>
上面二个读取的文件是同一个,但是为什么会不一样呢,http://localhost/test/test.php,在这里test.php文件被解释了,fopen只是得到这个脚本所输入的内容,看看php官方网站的解释吧
fopen() 将 filename 指定的名字资源绑定到一个流上。如果 filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式。如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在的问题并将 filename 当成一个普通的文件名继续执行下去。
三,file方法
1,读取文件本身
<?php
$filename = "test.php";
$content = file($filename);                 //得到数组
print_r($content);
?>
2,读取文件显示输出内容
<?php
$filename = "http://localhost/test/test.php";
$content = file($filename);
print_r($content);
?>
四,file_get_contents方法
1,读取文件本身
<?php
$filename = "test.php";
$content = file_get_contents($filename);     //得到字符串
echo strlen($content);
?>
2,读取文件显示输出内容
<?php
$filename = "http://localhost/test/test.php";
$content = file_get_contents($filename);
echo strlen($content);
?>
五,readfile方法
1,读取文件本身
<?php
$filename = "test.php";
$num = readfile($filename);     //返回字节数
echo $num;
?>
2,读取文件显示输出内容
<?php
$filename = "http://localhost/test/test.php";
$num = readfile($filename);     //返回字节数
echo $num;
?>
六,ob_get_contents方法
1,读取文件显示输出内容
<?php
ob_start();
require_once('bbb.php');
$content = ob_get_contents();
ob_end_clean();
echo strlen($content);
?>
总结
php,读取文件的方法很多,读取url的方法也很多,个人总结了一下,如有不对请大家指正,如果有不足请大家补充。


本文转载自:

共有 人打赏支持
h
粉丝 0
博文 11
码字总数 1992
作品 0
济南
php缓冲区解析

什么是缓冲区? 简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料. 其实缓冲区最本质...

stone_
2016/12/21
6
0
Java基于代码实战的字符流父类、字符转换流、缓冲字符流、过滤流

Java输入输出(I/O)流的知识回顾: 补充:因为这篇文章是基于上一篇的延续,因此将上一篇进行简单的回顾,以便理解本节内容。 1)输入输出(I/O)流分类:共分为字节型输入输出流和字符型输入...

孟飞阳
2017/10/20
0
0
谈及用PHP设计搜索表单----my story

我的classmate用dreamweaver做了一个网站,没有动态的内容,只是一些个人收藏的文章,个人介绍等等。现在内容比较多了,想叫我帮他做一个搜索引擎。说实在的,这是一个不难的问题,于是就随手...

crossmix
2016/01/07
23
0
PHP读写XML文件

PHP读写XML文件 author: MoreWindows blog: http://blog.csdn.net/MoreWindows KeyWord: PHP 解析XML DOMDocument XML文件操作 PHP可以方便的生成和读取XML文件。PHP主要通过DOMDocument、D......

彭博
2012/04/12
648
0
PHP读写XML文件

PHP读写XML文件 author: MoreWindows blog: http://blog.csdn.net/MoreWindows KeyWord: PHP 解析XML DOMDocument XML文件操作 PHP可以方便的生成和读取XML文件。PHP主要通过DOMDocument、D......

长平狐
2012/12/10
110
0

没有更多内容

加载失败,请刷新页面

加载更多

Android JNI 开发系列(九)JNI调用Java的静态方法&实例方法

JNI调用Java的静态方法&实例方法 package org.professor.jni.bean;import android.util.Log;/** * Created by peng on 2018/10/11. */ public class Person { /*C/CPP 调用......

蔡小鹏
28分钟前
3
0
Flink 原理与实现:Window 机制

Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完...

xtof
30分钟前
1
0
Fabric.js高级点的教程2--添加表格的方法

有时候我们先在画布上画一个表格类似一下设计软件那种。一方面作为参考线,一方面给人一直专业的赶脚。。。 先贴上一段网上(不是我写的)可以运行的代码 https://codepen.io/rodan8888/pen/e...

xmqywx
31分钟前
1
0
Java中Lambda表达式的使用

Java中Lambda表达式的使用 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人...

DemonsI
34分钟前
2
0
深入理解Java中停止线程

一.停止线程会带来什么? 对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预...

Ala6
43分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部