php 文件读取与读取文件输出内容例子

一,读取文件

先解释一下,什么是读取文件本身,什么叫读取文件输入内容。举个例子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的方法也很多,个人总结了一下,如有不对请大家指正,如果有不足请大家补充。

时间: 2024-09-25 17:15:11

php 文件读取与读取文件输出内容例子的相关文章

c++-C++读取大数据文件运算并输出

问题描述 C++读取大数据文件运算并输出 用C++读取一个dat文件,大约十几万行,4列,第一列不作处理,对2,34列的数据乘以某个数,然后将运算完成的数据写出到新的文件里.求助大神! 解决方案 不需要定义什么,开两个fstream,一个读一个写就可以了.如要完整代码,请先采纳,并且给出一个测试数据文件的片段和你要的结果文件的片段,写给你. 解决方案二: 用数据库,先把数据放到数据库里面,操作之后再读出取出来. 解决方案三: 我感觉当成图像的RGBA通道处理,,,再结合GPU的处理能力,,很适合

这是我整理的从文件夹中读取所有txt文件,并读取里面内容的java程序,问什么读出来的汉字是乱码?

问题描述 这是我整理的从文件夹中读取所有txt文件,并读取里面内容的java程序,问什么读出来的汉字是乱码? import java.io.BufferedReader; import java.io.File; import java.io.FileFilter; import java.io.FileReader; import java.io.IOException; import java.nio.CharBuffer; import java.util.ArrayList; impor

JavaScript使用Microsoft.XMLDOM读取远程XML文件内容

  JS使用Microsoft.XMLDOM读取远程XML文件内容,为啥要远程读取呢?其实举个例子就明白了,因为最近要搞一个远程读取天气信息的ajax页面,天气信息是远程网站的内容,是以XML文件方式存在的,所以我们要实现AJAX,就需要在JS中读取XML文件,开始觉得好难啊,其实做出来,也就不这么认为了. 在上述代码中,http://****.com/ajax/weather.asp?subcode=b55就是远程网站的天气XML信息,用ASP生成的xml,这里直接调用了XMLDOM组件进行读

通过Javascript读取本地Excel文件内容的代码示例

 这篇文章主要介绍了通过Javascript读取本地Excel文件内容的代码示例,但需要一定的条件才可以使用js操作本地文件,需要的朋友参考下吧 读取本地Excel文件内容的Javascript代码:    代码如下: <script type="text/javascript"> function read_excel(){       var filePath="D:abcd9.com.xls"; //要读取的xls     var sheet_id

通过Javascript读取本地Excel文件内容的代码示例_javascript技巧

读取本地Excel文件内容的Javascript代码: 复制代码 代码如下: <script type="text/javascript">function read_excel(){     var filePath="D:\abcd9.com.xls"; //要读取的xls    var sheet_id=2; //读取第2个表    var row_start=3; //从第3行开始读取    var tempStr='';    try{    

C#怎么样打开img格式的文件,并读取里面的内容?

问题描述 C#怎么样打开img格式的文件,并读取里面的内容? 这个img文件不是图像文件,他里面储蓄的是一些与图像毫不相干的数据,我怎么样才能通过C#获得里面的数据呢 解决方案 可以使用IO对其进行操作,如果是一些二进制数据就以二进制的方式打开文件,如果是文本数据就以文本的方式打开,获取到文件的数据后就看你后续还需要怎么操作了. 解决方案二: ,打开img之后是这样的

java-求助!用Java读取dat文件并处理数据,输出!

问题描述 求助!用Java读取dat文件并处理数据,输出! a.dat文件: id,money k001,5 k002,21 k003,30 k004,40 k002,20 b.dat文件: id,money k002,30 k005,49 k007,50 用java读取以上两个dat文件,统计相同id名下的money总和,并输出c.dat文件. 解决方案 IO流,按行读取,字符串切割,map存储id和money,map中已经存在id则进行money累加,2个文件读取完成,输出map值到c.da

buffer-将读取出的文件内容,分成多个部分,每个部分都是40字节发送,现在每次只发送了前40个字节的内容。

问题描述 将读取出的文件内容,分成多个部分,每个部分都是40字节发送,现在每次只发送了前40个字节的内容. 将读取出的文件内容,分成多个部分,每个部分都是40字节发送,现在无法遍历到所有的内容,每次只发送了前40个字节的内容,请帮忙看看哪里的问题,谢谢. String content = FileUtil.readFile(data);// 读取文本文件内容 // 将读取出的文件内容,分成多个部分,每个部分都是40字节发送 int number=40; byte[] buffer = new b

用vc++或java每隔一段时间读取一个日志文件(这是一个电话语音接听日志文件,文件内容在随时的增加)后提取有效数据到数据库中

问题描述 用vc++或java每隔一段时间读取一个日志文件(这是一个电话语音接听日志文件,文件内容在随时的增加)后提取有效数据到数据库中,怎么做到从上次读取文件的位置,也就是行数,开始下次的读取.大家知道,java和vc++是通过while()循环来读取文件,我当时的做法是记录上次while()的循环次数,下次读取时先空循环上次记录的行数,然后开始真正的读取文件.看看大伙有没有更好的办法. 解决方案 解决方案二:randomaccessfile+上次读取位置解决方案三:引用1楼inhibitor