<?php
* xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,推销员的一天,包括子目录
*参数说明:
* $destination:目的目录名
*/
if (!file_exists($destination))
if (!mkdir(rtrim($destination, '/'), 0777))
 ,有效消除黑眼圈5个妙方DIY; //$err->add($_LANG['cannt_mk_dir']);
}
}
return 0;
if(!is_dir($destination)){
}
while($entry=$handle->read()){
if(is_dir($source."/".$entry)){
xCopy($source."/".$entry,$destination."/".$entry,$child);
else{
}
}
}
* deldidr("feiy"):删除feiy,包括子目录 ......
PHP缓存技术详解
一、缓存技术:
有些信息比方经常不变的,但是还是能变的信息放在缓存中以加快显示速度,这是很有价值的,所谓的缓存,通俗的理解就是一些保存在服务器端的共用信 息.它是于服务器同生死的,我们在保存缓存的时候可以指定下次更新的时间的判断,比方要在5分钟更新一次,可以记录上次更新的时间,和当前时间比较,如果 大于 5 分钟 ,读取数据库,更新换成,否则直接读取缓存数据,当然,缓存需要客户端用户激活的,只需一次.
ob_start()函数:打开输出缓冲区.
函数格式 void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用 ob_end_flush()或flush()输出缓冲区的内容。
Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。
ob_get_contents :返回内部缓冲区的内容。
函数格式:string ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容, ......
PHP环境配置心得
Apache的配置
首先我在http://httpd.apache.org/download.cgi下的是“Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.15-win32-x86-no_ssl.msi”。安装那是小儿科啦,下一步下一步。我就不说了。
安装完后就要开始配置了,首先是配置访问文件的路径,默认的是“C:\Program Files\Apache Software Foundation\Apache2.2\htdocs”因为我的文件放在F盘,所以我找到了“C:\Program Files\Apache Software Foundation\Apache2.2\conf”下的“httpd”文件找到了DocumentRoot,本来我就是从资源管理器的复制网站路径“F:\djl\http”,注意啊,Apache的目录格式是“/”斜杠,所以要改成“F:/djl/http”。
此时把浏览器打开输入“http://localhost/”却发现之前默认的 “It works!”不见了,取而代之的是
Forbidden
You don't have permission to access / on this server.
--------------------------- ......
PHP的realpath(...)
Author:zfive5(zidong)
Email :zfive5@yahoo.com.cn
引子:
昨天帮人改了一下PHP程序,在配eclipse+php(xdebug)+mysql+apache后,就陷入一步步漫长而乏味的调试中,虽然工具有些不太好用(但也对php环境9年来的进步感到兴奋), 在整个调试过程中,发现自己完全让realpath(...)带入了沟里,1个多小时呀!为了这一个1小时也该写点什么出来!
正文:
PHP realpath() 函数
定义和用法
realpath() 函数返回绝对路径。
该函数删除所有符号连接(比如 '/./', '/../' 以及多余的 '/'),返回绝对路径名。
若失败,则返回 false。比如说文件不存在的话。
语法
readlink(linkpath)
参数 描述
linkpath 必需。规定要检查的连接路径。
说明
在 BSD 系统上,如果仅仅是 linkpath 不存在的话,PHP 并不会像其它系统那样返回 false。
目录结构:
WebSite
|
|--1.php
|
|--txt11
| & ......
如下php代码
<?php
$type='a';
$target='type';
$a=array(1,2,3);
a($target);
function a($type)
{
global $$type;
var_dump($$type);
}
?>
预计输出的是string(1)”a”
可是结果是
Notice: Undefined variable: a in D:\web\global.php on line 11
NULL
因为global的时候引进了$type,顺便把全局的$type引进了,函数内部的$type的值被修改成了全局的'a',而函数内部又没有$a,所以报错和打印null
不知道这是php的错误还是就是global的机制,不过个人认为这个情况下只引进$type就可以了 ......
上一篇我们讲到链接到 Edit.php?id= 来修改数据,后来我想了一下,其实也可以直接利用 Input.php 来修改数据,这样更容易管理,节省了不必要的空间
Input.php可以这样链接:Input.php?id=[Num]&action=[Num]
id即记录ID,默认为-1
action为动作,默认为0 , 为0时代表添加新的记录,为1时则修改记录
Input.php中插入PHP代码:
<?php
//先设定默认值
$id = -1; //-1代表是添加数据
$action = 0; //0代表添加数据,1:修改数据
$formAction = "Post.php"; //表单的action
if($_GET['id']!=null)
$id = $_GET['id'];
if($_GET['action']!=null)
$action = $_GET['action'];
if($id!=-1 && $action!=0)
{
$formAction = "Post.php?id=$id&action=$action";
$sql = "SELECT * from `AddrList` WHERE Id=$id";
require('conn.php');
$row = MySQL_fetch_row($result);
$name = $row[1];
$sex = $row[2];
$birthday = $row[3];
$qq = $row[4];
$mobile = $row[5];
$email = $row[6]; ......