几个 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;
$
相关文档:
卸载Mysql
[root@localhost ~]# rpm -qa | grep mysql
mysql-3.23.58-9
php-mysql-4.3.4-11
mod_auth_mysql-20030510-4.1
mysql-server-3.23.58-9
说明:rpm –qa | grep mysql 命令是为了把mysql相关的包都列出来,卸载都从最下面的一个包开始,直到卸载掉第一个为止。执行rpm -q php,如果返回php版本, ......
(PHP 4 >= 4.0.4)
功能说明:Check for numeric character(s)
Description
bool ctype_digit ( string text)
Returns TRUE if every character in text is a decimal digit, FALSE otherwise.
例子 1. A ctype_digit() example
<?php $strings = array('1820.20', '10002', 'wsl!12'); foreach ($strings ......
编写关于 PHP 的系列文章让我更加深刻地了解了 PHP 开发人员的世界。我和许多 PHP 程序员交谈过,最令我惊奇的是只有很少的人使用 IDE。大多数程序员使用文本编辑器,比如 Microsoft® Windows® 上的记事本、Emacs 或者 Vim。
我提到的这些文本编辑器(以及我没提到)都是很不错的 —— 我不想讨论 ......
Zend-PHP编码规范
1.对于只包含PHP的文件,"?>"是不允许存在的。注释:防止末尾被意外的注入空白并显示输出。
2.缩进应使用四个空格的缩进,而不使用制表符TAB。
3.一行80个字符是比较合适的,最多为120字符。
4.行的结束符只能是标准的UNIX文本文件的换行,换行符在文件中表示为10,或16进制的 0x0A。
不要使用win ......
1.是否可以在类的外部访问一个属性是由访问修饰符来确定的。
2.从类的外部直接访问类的属性是糟糕的想法。面向对象的一个方法就是鼓励封装。在PHP中,我们一般通过__get()与__set()函数来实现对
属性的访问.如果不直接访问一个类的属性而是编写访问函数,那么可以通过一段代码执行所有访问。最初的访问函数如下所示:
cla ......