PHP读取文件并可支持远程文件的代码分享

yipeiwu_com5年前PHP代码库
php读取文件

案例一
复制代码 代码如下:

<?php
$file = 'jb51.net.php';
//本案例不支持远程
$fso = fopen($file, 'r');
echo $data = fread($fso, filesize($file));
fclose($fso);
?>

fopen() 将 file 指定的名字资源绑定到一个流上.
filesize 返回文件大小的字节数,如果出错返回 FALSE.
注: 因为 PHP 的整数类型是有符号的,并且大多数平台使用 32 位整数,filesize() 函数在碰到大于 2GB 的文件时可能会返回非预期的结果.对于 2GB 到 4GB 之间的文件通常可以使用 sprintf("%u", filesize($file)) 来克服此问题.
fread() 从文件指针 handle 读取最多 length 个字节. 该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况.
说明:低版本用法!建议php5用file_get_contents

案例二
复制代码 代码如下:

<?php
$file = 'jb51.net.php';
//支持远程
$file = '//www.jb51.net';//
echo $data = implode('', file($file));
?>

file -- 把整个文件读入一个数组中
说明
读取二进制的文件

案例三
复制代码 代码如下:

<?php
$file = '//www.jb51.net';
echo file_get_contents($file);
?>

file_get_contents -- 将整个文件读入一个字符串
说明
string file_get_contents ( string filename [, int use_include_path [, resource context]])
和 file() 一样,只除了 file_get_contents() 将文件返回为一个字符串.
file_get_contents() 函数是用来将文件的内容读入到一个字符串中的首选方法.如果操作系统支持还会使用内存映射技术来增强性能.

相关文章

自己前几天写的无限分类类

前一周写的吧,使用中效果还不错。 主要思想来自:http://www.phpobject.net/b...[url=http://www.phpobject.net/blog/...

php unset全局变量运用问题的深入解析

PHP unset全局变量在实际使用中只能销毁局部变量,并不能实现全局变量的目的。下面我们就来具体解决这一问题。希望对大家有所帮助。PHP中语言中有些函数对于初学者来说在字面上是很难理解...

简单谈谈PHP中的trait

前言 之前的一个同事换工作,在面试被问到了 PHP 的 trait 。因为没用过, 所以没答好,我大概是用过几次的,想了想整理了以下的总结。 trait trait 是在一些类(Cla...

解析curl提交GET,POST,Cookie的简单方法

复制代码 代码如下:<?php$get_data = array (    "get1"=> "get1",   ...

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

phpstorm 正则匹配删除空行、注释行(替换注释行为空行)

使用phpstorm 来编写php 和javascript 代码,感觉还是不错的,用得也很舒服。 遇到了一个需求,有时候在阅读框架源代码的时候 , 想过滤(删除)掉源代码中的注释行,如果...