使用PHP维护文件系统

PHP有不菲与文件系统相关的函数,既能协理您展开文件,还足以呈现目录内容、移动文件等。很四个人竟然利用PHP写出了依附Web的文件管理器。

率先供给提示部分关于文件路线的东西:在Windows你能够在文书路线中使用斜线“/”或反斜线“/”,而别的操作系统仅使用”/”。出于宽容性寻思,以下实例使用“/”的象征方法:

下边包车型地铁归纳脚本展现了二个大旨的目录列表。注释在代码中并分解了每一步:

? /* 在变量 $dir_name中提交希望访谈的目录完整路线*/

$dir_name = “/home/me/”;

/* 创设句柄,展开给定目录的结果*/

$dir = opendir($dir_name);

/* 运转一段文本加多到就要放置列表成分的地点 */

$file_list = “ul”;

/*
使用while语句,读取所张开目录的具有因素。假如文件名既非“.”及“..”则在列表中输出文件名*/

while ($file_name = readdir($dir)) {

if (($file_name != “.”) && ($file_name != “..”)) {

$file_list .= “li$file_name”;

}

}

/* 终结列表 */

$file_list .= “/ul”;

/* 关闭展开的目录句柄并终止PHP代码段*/

closedir($dir);

?

!– Start your HTML —

HTML

HEAD

TITLEDirectory Listing/TITLE

/HEAD

BODY

!– Use PHP to print the name of the directory you read —

PFiles in: ? echo “$dir_name”; ?/p

!– Use PHP to print the directory listing —

? echo “$file_list”; ?

/BODY

/HTML

恭喜,那时早就有了二个索引列表。必要深深记住,要读取目录或文件中的内容客户所在的PHP运转平台必须最少对目录或文件有read权限。

以下例子为怎么复制文件:

? /*
将要求复制的文书路线放入变量$original,复制的目的路线放入变量$copied */

$original = “/home/me/mydatabasedump”;

$copied = “/archive/mydatabasedumo_1010”;

/* 使用函数copy(卡塔尔 复制源文件至目标地,或以输出错误音信甘休*/

@copy($original, $copied) or die(“Couldn’t copy file.”);

?

示范脚本是备份系统的率先步。当脚本运营时,出于安全着想它先将数据库复制到不一样地点。通过对crontab的改造,你能够在选准时间试行此文件而没有须求顾客加入。

如若系统桐月有Lynx,你能够创制crontab入口以运转Lynx并访谈文件。访问文件将运营脚本并创制复制文件。以下例子将要下午5点运维脚本,然后关闭Lynx:

0 5 * * * [username] lynx -dump 1/dev/null 2&1

倘让你运转的是PHP的CGI版本,你能够跳过Lynx部分并参照二进制文件:

0 5 * * * [username] php /path/to/copyfile.php 1/dev/null 2&1

——————————————–本文作者:Julie Meloni 是i2i
Interactive的本事首席推行官,及Linux和开放源代码社区的全力拉动者。她创作了累累关于PHP及任何手艺的书本,并成为对CNET
Builder.com具备深刻进献的行家。

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图