<?php
/**
* @author wyt
*
*/
class zip {
private $_zipObj=null;
private $_zipfcArr=array();
private $_basePath=null;
private $_zipName;
/**
* init
* @param zip文件名称 $zipName
*/
function __construct($zipName){
$this->_zipName=$zipName;
$this->_zipObj=new rezip();
}
/**
* 压缩一个文件夹
* @param 目录名称 $path
*/
public function tozip($path){
$this->_basePath=$path;
$this->_basePath.='/';
$this->direct($path);
$this->_zipObj->Add($this->_zipfcArr,1);
//写入文件
if(@fputs(@fopen($this->_zipName,"wb"),$this->_zipObj->get_file())) return $this->_zipName;
return false;
}
/**
* 解压zip文件
* @param 解压到的文件夹 $destPath
*/
public function unzip($destPath){
if(!file_exists($destPath)) @mkdir($destPath,0777,true);
return $this->_zipObj->Extract($this->_zipName,$destPath);
}
function direct($path){
$handler=opendir($pat ......
PHP的日期时间函数date()
1,年-月-日
echo date('Y-m-j');
2007-02-6
echo date('y-n-j');
07-2-6
大写Y表示年四位数字,而小写y表示年的两位数字;
小写m表示月份的数字(带前导),而小写n则表示不带前导的月份数字。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-m-d');
2007-02-06
大写M表示月份的3个缩写字符,而小写m则表示月份的数字(带前导0);
没有大写的J,只有小写j表示月份的日期,无前导o;若需要月份带前导则使用小写d。
echo date('Y-M-j');
2007-Feb-6
echo date('Y-F-jS');
2007-February-6th
大写M表示月份的3个缩写字符,而大写F表示月份的英文全写。(没有小写f)
大写S表示日期的后缀,比如“st”、“nd”、“rd”和“th”,具体看日期数字为何。
小结:
表示年可以用大写的Y和小写y;
表示月可以用大写F、大写M、小写m和小写n(分别表示字符和数字的两种方式);
表示日可以用小写d和小写j,大写S表示日期的后缀。
2,时:分:秒
默认情况下,PHP解释显示的时间为“格林威治标准时间”,与我们本地的时间相差8个小时。
echo date('g:i:s a');
5:56:57 am
echo date('h:i:s A');
......
此篇文章准备分2个部分来讲述:
第一部分主要详细讲述一下怎么构建一个完成的C++应用扩展模块;
第二部分主要讲述在PHP及Zend框架下怎么使用Zend API和C++语言来实现自己所要的功能以及项目的开发;
此篇文章所运用的环境在Linux
2.4.21-4.ELsmp(Red Hat Linux 3.2.3-20),Apache/2.2.8,gcc version 3.2.3
20030502,PHP 5.2.5 (cli),Zend Engine v2.2.0下进行。
一、前言
以前写过一些使用C语言来扩展PHP的应用[1
]
。在淘宝使用C++做PHP的扩展做项目的过程中,遇到了一些问题,从Google中查找,使用C++来开发PHP的中文文章少之又少,而且没有一个手册来告诉用户怎么写m4[2
]
文件,怎么使用zend[3
]
引擎的一套api函数去写相关PHP的接口,这里就怎么用C++语言来开发PHP的一些心得介绍给大家,希望有心人能够有所收获;
二、为什么要用C++开发PHP
使用C++比用C语言开发PHP主要有2个好处:
使用C++能够很方便的操作string类型,本身的一些容器和模板[4
]
、以及面对对象的功能让开发者能够节省大量开发的时间,这是比较重要的一点;
C++可以直接使用C的库,只需要extern "C&quo ......
此篇文章准备分2个部分来讲述:
第一部分主要详细讲述一下怎么构建一个完成的C++应用扩展模块;
第二部分主要讲述在PHP及Zend框架下怎么使用Zend API和C++语言来实现自己所要的功能以及项目的开发;
此篇文章所运用的环境在Linux
2.4.21-4.ELsmp(Red Hat Linux 3.2.3-20),Apache/2.2.8,gcc version 3.2.3
20030502,PHP 5.2.5 (cli),Zend Engine v2.2.0下进行。
一、前言
以前写过一些使用C语言来扩展PHP的应用[1
]
。在淘宝使用C++做PHP的扩展做项目的过程中,遇到了一些问题,从Google中查找,使用C++来开发PHP的中文文章少之又少,而且没有一个手册来告诉用户怎么写m4[2
]
文件,怎么使用zend[3
]
引擎的一套api函数去写相关PHP的接口,这里就怎么用C++语言来开发PHP的一些心得介绍给大家,希望有心人能够有所收获;
二、为什么要用C++开发PHP
使用C++比用C语言开发PHP主要有2个好处:
使用C++能够很方便的操作string类型,本身的一些容器和模板[4
]
、以及面对对象的功能让开发者能够节省大量开发的时间,这是比较重要的一点;
C++可以直接使用C的库,只需要extern "C&quo ......
此篇文章准备分2个部分来讲述:
第一部分主要详细讲述一下怎么构建一个完成的C++应用扩展模块;
第二部分主要讲述在PHP及Zend框架下怎么使用Zend API和C++语言来实现自己所要的功能以及项目的开发;
此篇文章所运用的环境在Linux
2.4.21-4.ELsmp(Red Hat Linux 3.2.3-20),Apache/2.2.8,gcc version 3.2.3
20030502,PHP 5.2.5 (cli),Zend Engine v2.2.0下进行。
一、前言
以前写过一些使用C语言来扩展PHP的应用[1
]
。在淘宝使用C++做PHP的扩展做项目的过程中,遇到了一些问题,从Google中查找,使用C++来开发PHP的中文文章少之又少,而且没有一个手册来告诉用户怎么写m4[2
]
文件,怎么使用zend[3
]
引擎的一套api函数去写相关PHP的接口,这里就怎么用C++语言来开发PHP的一些心得介绍给大家,希望有心人能够有所收获;
二、为什么要用C++开发PHP
使用C++比用C语言开发PHP主要有2个好处:
使用C++能够很方便的操作string类型,本身的一些容器和模板[4
]
、以及面对对象的功能让开发者能够节省大量开发的时间,这是比较重要的一点;
C++可以直接使用C的库,只需要extern "C&quo ......
function delfile($dir)
{
if (is_dir($dir))
{
$dh=opendir($dir);
while (false !== ( $file = readdir ($dh)))
{
if($file!="." && $file!="..")
{
$fullpath=$dir."/".$file;
if(!is_dir($fullpath))
{
unlink($fullpath);
}
else
{
delfile($fullpath);
}
}
}
closedir($dh);
}
}
function deldir($dir)
{
delfile($dir);
if (is_dir($dir))
{
rmdir($dir); //dir must be empty
}
return true;
} ......
<?php
$link=mysql_connect("localhost","root","root");
$db=mysql_select_db("bustest",$link);
$sql1="select name from info group by name order by id asc";
print("<table border='1'>");
$res1=mysql_query($sql1);
while($row1=mysql_fetch_array($res1)){
$name=$row1["name"];
$sql2="select id from info where name ='$name' order by id asc";
$res2=mysql_query($sql2);
while($row2=mysql_fetch_array($res2)){
print("<tr>");
$id=$row2["id"];
print("<td>$id</td>");
$sql3="select count(*),id from info where name ='$name' group by name order by id asc";
$res3=mysql_query($sql3);
while($row3=mysql_fetch_array($res3)){
$id1=$row3["id"];
if($id1==$id){
$num=$row3[0];
print("<td rowspan='$num' >");
print $name;
print("</td>");
}else{
print("</tr>");
}
}
}
print("</tr>");
}
print("</table>");
mysql_close($link);
?> ......
<?php
//分页
$link=mysql_connect("localhost","root","root");
$db=mysql_select_db("bustest",$link);
$res=mysql_query("select * from info");
//一共多少条
$count=mysql_num_rows($res);
//每页5条信息
$perpage=5;
//一共多少页
$pagecount=ceil($count/$perpage);
//传过来的页数
$pagenum=$_REQUEST['page'];
//判断$pagenum是否有值
if(!isset($pagenum)){
$pagenum=1;
}elseif($pagenum>$pagecount){
$pagenum=$pagecount;
}elseif($pagenum<=0){
$pagenum=1;
}
//查询
$sql="select * from info limit ".($pagenum-1)*$perpage.",".$perpage;
$resc=mysql_query($sql);
print("<table border='1'>");
print("<tr><th>ID</th><th>NAME</th></tr>");
while($row=mysql_fetch_array($resc)){
print("<tr><td>");
print $row["id"];
print("</td><td>");
print $row["name"];
print("</td></tr>");
}
print("</table>");
mysql_free_result($resc);
mysql_free_result($r ......