rmdir($path)
将删除路径在$path的文件.(
首先介绍的是一个从目录读取的函数,opendir(),readdir(),closedir(),使用的时候是先打开文件句柄,而后迭代列出:
代码如下 | 复制代码 |
<?php $base_dir = "filelist/"; $fso = opendir($base_dir); echo $base_dir."<hr/>" ; while($flist=readdir($fso)){ echo $flist."<br/>" ; } closedir($fso) ?> |
这是讲返回文件目录下面的文件已经目录的程序(0文件将返回false).
有时候需要知道目录的信息,可以使用dirname($path)和basename($path),分别返回路径的目录部分和文件名名称部分,可用disk_free_space($path)返回看空间空余空间.
创建命令:
mkdir($path,0777)
,0777是权限码,在非window下可用umask()函数设置.
rmdir($path)
将删除路径在$path的文件.
dir -- directory 类也是操作文件目录的重要类,有3个方法,read,rewind,close,这是一个仿面向对象的类,它先使用的是打开文件句柄,然后用指针的方式读取的.,这里看php手册:
代码如下 | 复制代码 |
<?php $d = dir("/etc/php5"); echo "handle: " . $d->handle . " "; echo "path: " . $d->path . " "; while (false !== ($entry = $d->read())) { echo $entry." "; } $d->close(); ?> |
输出:
代码如下 | 复制代码 |
handle: resource id #2 path: /etc/php5 . .. apache cgi cli |
文件的属性也非常重要,文件属性包括创建时间,最后修改时间,所有者,文件组,类型,大小等
下面我们重点谈文件操作.
本文章要讲关于php 文件操作函数他们包括对文件 创建,删除,修改 复制 获取文件属性,判断文件是否存在,写文件,改变文件属性,给写内容,复制文件 写文件的时候有时候需要锁定,然后写等操作。
● 读文件
首先是一个文件看能不能读取(权限问题),或者存在不,我们可以用is_readable函数获取信息.:
代码如下 | 复制代码 |
<?php $file = 'dirlist.php'; if (is_readable($file) == false) { die('文件不存在或者无法读取'); } else { echo '存在'; } ?> |
判断文件存在的函数还有file_exists(下面演示),但是这个显然无is_readable全面.,当一个文件存在的话可以用
代码如下 | 复制代码 |
<?php $file = "filelist.php"; if (file_exists($file) == false) { die('文件不存在'); } $data = file_get_contents($file); echo htmlentities($data); ?> |
但是file_get_contents函数在较低版本上不支持,可以先创建文件的一个句柄,然后用指针读取全部:
代码如下 | 复制代码 |
$fso = fopen($cachefile, 'r'); $data = fread($fso, filesize($cachefile)); fclose($fso); |
还有一种方式,可以读取二进制的文件:
.什么是cookie
cookie是一种在远程浏览器端存储数据并以此来跟踪和识别用户的机制.2.php教程如何设置cookie
在php中可以使用setcookie()或setrawcookie()函数来设置cookie.cookie是http头的一部分,因此setcookie()等函数必须在其输出数据座之前被调用,这和header()函数是相同的.不过在这里也可以使用输出缓冲函数来延迟脚本的输出.直到设置好了所有cookie和其他http标头.
<?php
$value = "something";
setcookie("testcookie",$value); //设置cookie值
setcookie("testcookie",$value,time()+3600); //设置失效时间
?>
如果希望对一个cookie变量设置多个值,则可以在cookie变量名称后面加[]符号.
<?php
// set the cookies
setcookie("cookie[three]", "cookiethree");
setcookie("cookie[two]", "cookietwo");
setcookie("cookie[one]", "cookieone");
?>
setcookie()还可以设置控制读取cookie的程序的域及目录路径,默认为同服务器且在同级或以下目录结构内的页面才可以读取,然而如果你想设置允许从域example.com的/~rasmus目录处理页面,并且使用基于ssl的安全连接,则可以进行如下设置:
<?php
$value = "something";
setcookie("testcookie",$value,time()+3600,"/~rasmus/",".example.com",1);
?>
删除cookie的操作与上面类似,只需要设置cookie的值为空即可.
<?php
// set the expiration date to one hour ago
setcookie ("testcookie", "", time() - 3600);
setcookie ("testcookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
?>注意:
根据register_globals的设置,可以从cookie建立普通的php变量,不过一般不推荐依赖于此特性,因为出于安全考虑该选项通常是关闭的.
必须保证在设置cookie前无数据输出.
php会自动的接收和处理cookie,我们只需要在需要它的时候直接调用即可,你可以使用print_r($_cookie)把整个cookie数组的值全部打印出来.
1.什么是session
session,中文名称为会话,它是指一类用来在客户端和服务器间保持会话连接状态的解决方案,同时
由于其的广泛应用性,php教程作为一种web开发语言,当然也是完全的支持session机制.
具体针对web网站来说,session指用户在浏览某个网站时,从进入网站到浏览器关闭所经过的时间,由
此可知,session实际上是一个特定的时间概念.
通过使用session,我们就可以在网站的上下文不同页面间传递变量,将session用于用户身份认证,
程序状态记录等,最常见的形式就是配合cookie使用,实现保存用户登录状态等功能.2.php session用法
每一个网站访客都会被分配给一个唯一的标志符,即会话id,它的存放形式无非两种:要么经过
url传递,要么保存在客户端的cookies里.当然,你也可以将session保存到数据库教程里,这样会
更安全,但效率方面会有所下降.
url方式传递安全性肯定太差,php的会话机制是通过设置cookie,在cookies中保存会话id
(session id),在服务器端会生成session文件,与用户进行关联,web应用程序存储与这些
session相关的数据,并在各页面间进行传递.3.php session函数及使用
在php中有关session的函数比较多,不过我们最常用到的也就这么几个函数:
session_start(), session_register(),session_unregister(),
session_is_registered(),session_destroy函数.
session_start():启用session机制,在需要用到session的程序文件的最开始调用它.
session_register():注册session变量
session_unregister(): 删除session变量(一个一个删除)
session_is_registered(): 判断session变量是否注册
session_distroy(): 销毁所有session变量(所有session变量销毁)
需要注意下面几个方面:
1.函数session_start()必须在程序最开始执行,在其前面不能有任何输出内容,否则
就会出现“warning:cannot send session cookie - headers already
sent"类似这样的警告信息.
2.函数session_register()用于注册要保存在session中的相关变量,其用法如下:
<?php
$val = "session value";
session_register("val");
?>
val即为要注册的session变量名,在注册时一定不要加上"$"符号,只写其变量名称即可.
3.函数session_unregister()与上面函数用法完全相同,但功能相反,上面函数是注册
session变量,而其则是删除指定的session变量.
4.函数session_is_registered()用于判断session变量是否注册.
5.函数session_destroy()主要用于在系统注销和退出时,销毁所有的session变量,
它没有参数,直接调用即可。
下面是一个简单的完整的使用样例程序:
<?php
session_start();
$val = "session value";
session_register("val");
if(session_is_registered("val")) {
session_unregister("val");
}
else {
echo "val变量还未进行注册";
}
session_destroy();
?>
function timeop($time,$type="talk") {
$ntime=time()-$time;
if ($ntime<60) {
return("刚才");
} elseif ($ntime<3600) {
return(intval($ntime/60)."分钟前");
} elseif ($ntime<3600*24) {
return(intval($ntime/3600)."小时前");
} else {
if ($type=="talk") {
return(gmdate('m月d日 h:i',$time+8*3600));
} else {
return(gmdate('y-m-d h:i',$time+8*3600));
}
}
}