by 清泉
26. 四月 2011 16:43
<?php
function DateDiff($part, $begin, $end)
{
$diff = strtotime($end) - strtotime($begin);
switch($part)
{
case "y": $retval = bcdiv($diff, (60 * 60 * 24 * 365)); break;
case "m": $retval = bcdiv($diff, (60 * 60 * 24 * 30)); break;
case "w": $retval = bcdiv($diff, (60 * 60 * 24 * 7)); break;
case "d": $retval = bcdiv($diff, (60 * 60 * 24)); break;
case "h": $retval = bcdiv($diff, (60 * 60)); break;
case "n": $retval = bcdiv($diff, 60); break;
case "s": $retval = $diff; break;
}
return $retval;
}
[更多...]
by 清泉
7. 十二月 2010 10:50
至于为什么设置上传目录无权限这个我就不累赘了,现在比较流行的web服务有iis,apache,nginx,使用操作系统无非是windows or *nux
我们来看俩段通常对上传目录设置无权限的列子,配置如下:
<Directory "/var/www/upload">
<FilesMatch ".php">
Order Allow,Deny
Deny from all
</FilesMatch>
</Directory>
[更多...]
by 清泉
26. 十一月 2010 16:42
简介:需要在IIS6.0下配置PHP,由于php 5.3.3已经不再支持isapi配置了,因此需采用fastcgi方式配置,下面分享一下我的配置过程,还是感觉5.2及以前的版本配置比较方便,使用5.3配置后,我的apache居然挂了,不知道问题出在哪里,没找到解决方法,最后只能ghost还原了一下。
第一步:iis6.0环境配置,这里不多介绍
第二步:下载php5.3.3的windows压缩版本:php-5.3.3-nts-Win32-VC9-x86.zip
1、下载地址:
http://windows.php.net/download/,选择VC9 x86 Non Thread Safe。
有关PHP版本说明
2、把php-5.3.3-nts-Win32-VC9-x86.zip解压缩到D:\PHP
3、修改PHP.ini
[更多...]
by 清泉
22. 十一月 2010 21:45
PHP写XML方法很多,这里主要介绍一下DOMDocument的用法,跟 JS大体上相同,其实非常简单。
共分四个文件,分别是创建、增加、删除、修改四个功能,变量都是写死的,改一改用$_POST方式接收就可以用了
//index.php 创建功能
<?php
$xmlpatch = 'index.xml';
$_id = '1';
$_title = 'title1';
$_content = 'content1';
$_author = 'author1';
$_sendtime = 'time1';
$_htmlpatch = '1.html';
[更多...]
by 清泉
22. 十一月 2010 21:36
class xml
{
var $dbase; //数据库,要读取的XML文件
var $dbname; //数据库名称,顶层元素,与数据库文件名称一致
var $dbtable; //数据表,要取得的节点
var $parser; //剖析器
var $vals; //属性
var $index; //索引
var $dbtable_array;//节点数组
var $array; //下级节点的数组
var $result; //返回的结果
var $querys;
[更多...]
by 清泉
22. 十一月 2010 16:24
下面的几种内容采集系统都是英文版的,全部不需使用数据库,都是国外的免费并且开源CMS。对中文支持如何,你自己试试吧!
1、MuCMS一个小型,平台独立的内容管理系统适用于非交互式网站(网站只发布信息)。它对系统要求非常低,只需要Apache+PHP。没有使用数据库。它具有安全,快速,易用等特点。
官方网站
http://mucms.taggedzi.com/index.php
2、Synergiser是一个采用模块化设计,不需要依赖数据库的内容管理系统(CMS)。它还包含一个简单的blog系统,一个简单的Menu,一个 RSS聚合器,一个用于处理静态页面的内容管理面板和一个模板系统。
官方网站
http://www.firewolf.com.au/
3、ReloadCMS是一个采用PHP开发基于平面文件(flat files)开源CMS。它不需要任何数据库支持,但实现了高级CMS的所有功能如:模块化,模板,户管理,高级权限系统和包含在主要模块中的文章,新闻,书签,聊天和文件归档等等。
官方网站
http://reloadcms.com/ [更多...]
by 清泉
27. 十月 2010 16:24
今天配置PHP.INI时候发现一个超弱智的问题,修改php.ini中的post_max_size,只图方便随便多加了几个0,进行测试网站的时候,提交的数据怎么都检测不了,崩溃,重装别的版本的PHP,APACHE,修改php.ini,apache的httd.conf,问题依旧,实在太痛苦了,最后用了原始未修改版本PHP.INI居然没问题,经对比发现原来是post_max_size配置值过大,post_max_size过大会导致php使用$_POST获取不到数据。
后查看相关说明,原来post_max_size 如果超过 2048M 就等于0,这时所有表单操作都将无效。但某些时间又是可以的,实在是怪,设置为2047M到8193M一般都不可以,但设置为6000M却是可以的,超过8193MB也可以,不知道这算不出BUG,当然我的不全,只是随便一下,哈哈。
[更多...]
by 清泉
27. 九月 2010 23:43
PHP Date() 函数可把时间戳格式化为更易读的日期和时间。
语法
date(format,timestamp)
format 必需。规定时间戳的格式。
timestamp 可选。规定时间戳。默认是当前的日期和时间。(自1970年1月1日(00:00:00 GMT)以来的秒数。它也被称为Unix时间戳。
[更多...]
by 清泉
11. 九月 2010 15:53
curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。
下列选项的值将被作为长整形使用(在option参数中指定):
*CURLOPT_INFILESIZE: 当你上传一个文件到远程站点,这个选项告诉PHP你上传文件的大小。
*CURLOPT_VERBOSE: 如果你想CURL报告每一件意外的事情,设置这个选项为一个非零值。
*CURLOPT_HEADER: 如果你想把一个头包含在输出中,设置这个选项为一个非零值。
*CURLOPT_NOPROGRESS: 如果你不会PHP为CURL传输显示一个进程条,设置这个选项为一个非零值。
[更多...]
by 清泉
2. 九月 2010 19:53
1. Php文件格式
编码:应用平台核心文件使用utf-8无BOM头,避免不同编码造成的乱码(切忌使用记事本)。
标记:Php文件必须使用 <?php ?>。
命名:按照 范围、作用、其他描述 为顺序命名。如 Article.Validator.php,Article.ValidatorAble.php
或 Article/Validator.php,Article/ValidatorAble.php
具体命名参照【2、命名规则】,具体实施以减少冲突为原则处理。
[更多...]
by 清泉
30. 八月 2010 23:17
网络开发中,特别是大访问量的web项目开发中。为提高响应速度,减少数据查询运算都会选用memcache。
现在网上介绍Memcache安装的已经很多,不再赘述。再次着重介绍memcache的一些常用方法。
Memcache::add // 添加一个值,如果已经存在,则返回false
Memcache::addServer // 添加Memcache地址
Memcache::close // 关闭一个Memcache的连接
Memcache::connect // 打开一个到Memcache的连接
Memcache::decrement // 对保存的某个key中的值进行减法操作
[更多...]
by 清泉
20. 八月 2010 11:02
1. PHP二维数组去重复项函数
PHP数组去除重复项 有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组 的 array_unique函数
Php代码
//二维数组去掉重复值
function unique_arr($array2D){
foreach ($array2D as $v){
$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
$temp[] = $v;
}
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组
foreach ($temp as $k => $v){
$temp[$k] = explode(",",$v); //再将拆开的数组重新组装
}
return $temp;
}
[更多...]