易截截图软件、单文件、免安装、纯绿色、仅160KB

几个 PHP 文件读写函数和 CSVFileObject 类

/**
* 打开关闭文件
*/
fopen() // 2/4: 2 个必选参数, 4 个参数;
fclose() // 1/1;
/**
* 读取文件
*/
// 需先用 fopen() 打开文件才能读取的函数;从文件指针处开始读取
fgetc() // 1/1; 读取一个字符
fgets() // 1/2; 读取一行
fgetss() // 1/3; 读取一行并去除 HMTL 标签
fgetcsv() // 1/5; 读取一行并解析为 csv 字段,返回数组
fread() // 2/2; 读取指定字节的字符
fscanf() // 2/n; 从文件中格式化输入
// 不需要先 fopen() 打开文件的函数
file() // 1/3; 读取整个文件内容到一个数组,文件中一行对应数组中一个元素
file_get_contents() // 1/5; 读取整个文件到一个字符串
readfile() // 1/3; 读入一个文件并写入到输出缓冲。
/**
* 写入文件
*/
fwrite() / fputs() // 2/3; 写入文件(可安全用于二进制文件), 需先 fopen()
fputcvs() // 2/4; 将行格式化为 CSV 并写入文件指针,需先 fopen()
file_put_contents() // 2/4; 将字符串整个写入文件
/**
* 文件指针
*/
ftell() // 1/1; 返回文件指针读/写的位置
fseek() // 2/3; 在文件指针中定位
rewind() // 1/1; 倒回文件指针的位置
/**
* 使用 SplFileObject 方法 fgetcsv() 时最后一行后面还会解析出一个数组
* eg:
* $it = new SplFileObject('sample.csv');
* while( $arr = $it->fgetcsv() ){
* print_r( $arr)
* }
*/
class CSVFileObjectException extends Exception{
//
}
class CSVFileObject extends SplFileInfo implements Iterator{
protected $current_line;
protected $map;
protected $column_cnt;
protected $fp;
function __construct( $filename, $mode, $use_include_path = FALSE, $context = NULL)
{
$this->ensure( ! is_readable( $filename), "CSV file {$filename} does not exists or is not readable");
if( is_null( $context)){
$this->fp = @fopen( $filename, $mode, $use_include_path);
}else{
$this->fp = @fopen( $filename, $mode, $use_include_path, $context);
}
$this->ensure( ! $this->fp, "open CSV file {$filename} failure");
parent::__construct( $filename);
$this->current_line = 0;
$


相关文档:

在PHP里得到前天和昨天的日期的代码

在PHP里得到前天和昨天的日期的代码前天去面试的时候也是这样,不过我当时记不起来了.就记得MYSQL里面的date_sub(now(),'interval 1 day');date('Y/m/d h:i:s',mktime(date('h'), date('i'), date('s'), date('m') , date('d')+1, date('Y'))); -------------------------------------------------------------------------- ......

PHP分页技术

 
1、前言
  分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一。对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原 ......

PHP码农进化史2

1.是否可以在类的外部访问一个属性是由访问修饰符来确定的。
2.从类的外部直接访问类的属性是糟糕的想法。面向对象的一个方法就是鼓励封装。在PHP中,我们一般通过__get()与__set()函数来实现对
属性的访问.如果不直接访问一个类的属性而是编写访问函数,那么可以通过一段代码执行所有访问。最初的访问函数如下所示:
cla ......

PHP 小技巧

=================================
mb_substr($str, 0, 1, "gbk");
如果提供了第四个参数,php会解析这个参数
1. 将这个参数转换成字符串.
2. 调用mbfl_name2no_encoding获得编码器序号
3. 第二步会调用mbfl_name2encoding,这个函数在循环中使用了strcasecmp
strcasecmp是忽略大小写的字符串匹配,性能很低, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号