PHP常用文件目录函数集

chdir — 改变目录
chroot — 改变根目录
dir — directory 类
closedir — 关闭目录句柄
getcwd — 取得当前工作目录
opendir — 打开目录句柄
readdir — 从目录句柄中读取条目
rewinddir — 倒回目录句柄
scandir — 列出指定路径中的文件和目录
basename — 返回路径中的文件名部分
chgrp — 改变文件所属的组
chmod — 改变文件模式
chown — 改变文件的所有者
clearstatcache — 清除文件状态缓存
copy — 拷贝文件
delete — 参见 unlink() 或 unset()
dirname — 返回路径中的目录部分
disk_free_space — 返回目录中的可用空间
disk_total_space — 返回一个目录的磁盘总大小
diskfreespace — disk_free_space() 的别名
fclose — 关闭一个已打开的文件指针
feof — 测试文件指针是否到了文件结束的位置
fflush — 将缓冲内容输出到文件
fgetc — 从文件指针中读取字符
fgetcsv — 从文件指针中读入一行并解析 CSV 字段
fgets — 从文件指针中读取一行
fgetss — 从文件指针中读取一行并过滤掉 HTML 标记
file_exists — 检查文件或目录是否存在
file_get_contents — 将整个文件读入一个字符串
file_put_contents — 将一个字符串写入文件
file — 把整个文件读入一个数组中
fileatime — 取得文件的上次访问时间
filectime — 取得文件的 inode 修改时间
filegroup — 取得文件的组
fileinode — 取得文件的 inode
filemtime — 取得文件修改时间
fileowner — 取得文件的所有者
fileperms — 取得文件的权限
filesize — 取得文件大小
filetype — 取得文件类型
flock — 轻便的咨询文件锁定
fnmatch — 用模式匹配文件名
fopen — 打开文件或者 URL
fpassthru — 输出文件指针处的所有剩余数据
fputcsv — 将行格式化为 CSV 并写入文件指针
fputs — fwrite() 的别名 继续阅读…

PHP常用类和时间函数集

lass — 返回对象或类的父类名
interface_exists — 检查接口是否已被定义
is_a — 如果对象属于该类或该类是此对象的父类则返回 TRUE
is_subclass_of — 如果此对象是该类的子类,则返回 TRUE
method_exists — 检查类的方法是否存在
property_exists — 检查对象或类是否具有该属性
checkdate — 验证一个格里高里日期
date_default_timezone_get — 取得一个脚本中所有日期时间函数所使用的默认时区
date_default_timezone_set — 设定用于一个脚本中所有日期时间函数的默认时区
date — 格式化一个本地时间/日期
getdate — 取得日期/时间信息
gettimeofday — 取得当前时间
gmdate — 格式化一个 GMT/UTC 日期/时间
gmmktime — 取得 GMT 日期的 UNIX 时间戳
gmstrftime — 根据区域设置格式化 GMT/UTC 时间/日期
idate — 将本地时间日期格式化为整数
localtime — 取得本地时间
microtime — 返回当前 Unix 时间戳和微秒数
mktime — 取得一个日期的 Unix 时间戳
strftime — 根据区域设置格式化本地时间/日期
strptime — 解析由 strftime() 生成的日期/时间
strtotime — 将任何英文文本的日期时间描述解析为 Unix 时间戳
time — 返回当前的 Unix 时间戳。

php中register_globals使用详解

register_globalsphp.ini里的一个配置,这个配置影响到php如何接收传递过来的参数,如果你的问题是:为什么我的表单无法传递数据?为什么我的程序无法得到传递过来的变量?等等,那么你需要仔细的阅读以下的内容。
register_globals的值可以设置为:On或者Off,我们举一段代码来分别描述它们的不同。
代码:
<form name=”frmTest” id=”frmTest” action=”URL”>
<input type=”text” name=”user_name” id=”user_name”>
<input type=”password” name=”user_pass” id=”user_pass”>
<input type=”submit” value=”login”>
</form>
register_globals=Off的时候,下一个程序接收的时候应该用$_GET['user_name']$_GET['user_pass']来接受传递过来的值。(注:当<form>的method属性为post的时候应该用$_POST['user_name']$_POST['user_pass'])
register_globals=On的时候,下一个程序可以直接使用$user_name和$user_pass来接受值。
顾名思义,register_globals的意思就是注册为全局变量,所以当On的时候,传递过来的值会被直接的注册为全局变量直接使用,而Off的时候,我们需要到特定的数组里去得到它。所以,碰到上边那些无法得到值的问题的朋友应该首先检查一下你的register_globals的设置和你获取值的方法是否匹配。(查看可以用phpinfo()函数或者直接查。

addslashes和mysql_real_escape_string区别

本文介绍的是用 mysql_real_escape_string对用户提交数据进行整理处理和通过addslashes以及mysql_escape_string这3个类似的功能函数的区别。经过转义的数据可以直接插入到数据库中。
addslashes的问题在于黑客可以用0xbf27来代替单引号,而addslashes只是将0xbf27修改为0xbf5c27,成为一个有效的多字节字符,其中的0xbf5c仍会被看作是单引号,所以addslashes无法成功拦截。
当然addslashes也不是毫无用处,它是用于单字节字符串的处理,多字节字符还是用mysql_real_escape_string吧。
另外对于php手册中get_magic_quotes_gpc的举例:
if (!get_magic_quotes_gpc()) {
$lastname = addslashes($_POST[‘lastname’]);
} else {
$lastname = $_POST[‘lastname’];
}
最好对magic_quotes_gpc已经开放的情况下,还是对$_POST[’lastname’]进行检查一下。
再说下mysql_real_escape_string和mysql_escape_string这2个函数的区别:

继续阅读…

PHP面向对象的标准

(1)所有数据都应该隐藏在所在的类的内部。
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。
(3)尽量减少类的协议中的消息。
(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。
(5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。
(6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。
(7)类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。
(8)类应该只表示一个关键抽象。包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不  造成任何影响 . 继续阅读…

phpWebGallery1.7.3发布

phpWebGallery是一款php开发开源图片程式.可以对图片发表评论等等,最新1.7.3版本的增加EXIF数据读取功能,RSS订阅,各种照片展示模板.

DEMO:http://demo.phpwebgallery.net/
下载地址:
http://download.gna.org/phpwebgallery/release/1.7/1.7.3/

PHPMailer类-php发送邮件好帮手

PHPMailer 是一个专门用于php语言的邮件发送类,功能十分地强大,丰富了 PHP 本身单一的 mail() 函数。支持 SMTP 等甚至于附件。

PHPMailer 遵守 LGPL 授权,可以免费下载,当前版本是PHPMailer v2.2.1 更新于2007 年11月16日。

下载地址:http://phpmailer.codeworxtech.com/index.php?pg=sf&p=dl

注:下载时有后缀分别为 .tar.gz 和 .zip 之分,其实它们包含的文件都是一样的,只是压缩格式不同,.tar.gz 经过了双重压缩,文件更小罢了,WinRAR 软件能正确地解压这两种格式。

◆使用方法

继续阅读…

apache2.29配置加载PHP方法

 假设apache安装在F:\web\apache\  文件夹,PHP安装在F:\web\php\     

打开F:\web\apache\conf中的apache配置文件httpd.conf在最后加入如下三行
LoadModule php5_module “f:/web/php/php5apache2_2.dll”
 AddType application/x-httpd-php .php
AddType application/x-httpd-php .html

重启apache即可.

php用户登陆类

<?php
/*
 *  描述:PHP用于登录的类,基于MySQL

 */

class Login
{
    var $username;    //用户名
    var $userpass;    //密码
    var $userid;    //用户id
    var $userlevel;    //用户级别

    var $authtable=”account”;    //验证用数据表

    var $usecookie=true;    //使用cookie保存sessionid
    var $cookiepath=’/';    //cookie路径
    var $cookietime=108000;    //cookie有效时间

    var $err_mysql=”mysql error”;            //mysql出错提示
    var $err_username=”username invalid”;    //用户名无效提示
    var $err_user=”user invalid”;            //用户无效提示(被封禁)
    var $err_password=”password error”;        //密码错误提示

继续阅读…

php filter安全过滤方法

PHP 5.2以及更高的版本,filter被绑定于系统,它可以对数据进行自动的过滤和判断。

第一种、判断一个变量的内容是否符合要求

/*

使用函数filter_var

第一个参数是要判断的变量。

第二个参数是判断的要求,FILTER_VALIDATE_EMAIL表示判断是否符合email格式。

如果变量是类似’boy@163.com’的数据,系统就会完整的输出‘boy@163.com’。如果是错误的格式,比如’boy’,就会输出false。如果没有填写表单中的email字段,系统输出空字符串。

继续阅读…

php判断文件和目录函数

//检查上级目录下的目标对象logo.jpg是否是文件。

$checkResult = is_file(‘../logo.jpg’);

说明:如果目标对象是文件,系统返回true,否则返回false。上面例子的$checkResult当然是true.

继续阅读…

php重命名文件或目录

//将当前目录下的子目录a下面的文件1.gif重命名为2.gif。

rename(‘/a/1.gif’, ‘/a/2.gif’);

说明:对目录也一样。系统会返回操作结果,成功则返回 TRUE,失败则返回 FALSE,可以用变量接收,就知道是否重命名成功。

$renameResult = rename(‘/a/1.gif’, ‘/a/2.gif’);

继续阅读…