PHP開(kāi)發(fā)文件系統(tǒng)案例講解
發(fā)表時(shí)間:2024-01-21 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]PHP中有許多與文件系統(tǒng)有關(guān)的函數(shù),這些函數(shù)不僅可以打開(kāi)文件,還可以顯示目錄中的內(nèi)容、移動(dòng)文件和其他一些功能,許多人甚至用PHP開(kāi)發(fā)基于互聯(lián)網(wǎng)的文件資源管理器。 下面的腳本樣例可以顯示一個(gè)目錄清單,注釋已經(jīng)包含在代碼中: <? /把要讀取的目錄的全路徑名存入一個(gè)名字為dir_name的變量中。/...
PHP中有許多與文件系統(tǒng)有關(guān)的函數(shù),這些函數(shù)不僅可以打開(kāi)文件,還可以顯示目錄中的內(nèi)容、移動(dòng)文件和其他一些功能,許多人甚至用PHP開(kāi)發(fā)基于互聯(lián)網(wǎng)的文件資源管理器。
下面的腳本樣例可以顯示一個(gè)目錄清單,注釋已經(jīng)包含在代碼中:
<? /把要讀取的目錄的全路徑名存入一個(gè)名字為$dir_name的變量中。/
$dir_name = "/home/me/";
/ 創(chuàng)建一個(gè)句柄,其值是打開(kāi)一個(gè)給定目錄的結(jié)果/
$dir = opendir($dir_name);
/ 建立一個(gè)文字塊,用以放置列表元素(文件名字)/
$file_list = "<ul>";
/ 使用一個(gè)while語(yǔ)句,讀取已經(jīng)打開(kāi)的目錄中的所有元素,如果文件的名字不是“.”或“..”,則顯示列表中的名字/
while ($file_name = readdir($dir)) {
if (($file_name != ".") &&&& ($file_name != "..")) {
$file_list .= "<li>$file_name";
}
}
$file_list .= "</ul>";
/關(guān)閉打開(kāi)的目錄,結(jié)束PHP模塊/
closedir($dir);
?>
<!-- Start your HTML -->
<HTML>
<HEAD>
<TITLE>Directory Listing</TITLE>
</HEAD>
<BODY>
<!-- Use PHP to print the name of the directory you read -->
<P>Files in: <? echo "$dir_name"; ?></p>
<!-- Use PHP to print the directory listing -->
<? echo "$file_list"; ?>
</BODY>
</HTML>
好了,我們已經(jīng)得到了一個(gè)目錄清單。需要注意的是,要讀取一個(gè)文件(稍后我們將進(jìn)行講解)或目錄的內(nèi)容,PHP運(yùn)行的系統(tǒng)上的用戶必須至少有讀取文件的權(quán)限。
下面是一個(gè)如何拷貝文件的例子:
<? /把你要拷貝的源文件的全路徑賦給一個(gè)名字為$original的變量中,把拷貝的文件的全路徑賦予一個(gè)名字為$copied的變量中/
$original = "/home/me/mydatabasedump";
$copied = "/archive/mydatabasedumo_1010";
/ 使用copy()函數(shù)拷貝源文件,如果拷貝沒(méi)有完成則會(huì)顯示一個(gè)錯(cuò)誤信息/
@copy($original, $copied) or die("Couldn't copy file.");
?>
這個(gè)例子是一個(gè)文件備份系統(tǒng)的原型。在這段腳本運(yùn)行時(shí),它把文件拷貝到一個(gè)不同的位置進(jìn)行保存。稍微修改一下守護(hù)程序,就可以在一天中你指定的時(shí)刻執(zhí)行它,而無(wú)需用戶的干預(yù)。