php目錄操作執行個體代碼_PHP教程

來源:互聯網
上載者:User
複製代碼 代碼如下:
/**
* listdir
*/
header("content-type:text/html;charset=utf-8");

$dirname = "./final/factapplication";

function listdir($dirname) {
$ds = opendir($dirname);
while (false !== ($file = readdir($ds))) {
$path = $dirname.'/'.$file;
if ($file != '.' && $file != '..') {
if (is_dir($path)) {
listdir($path);
} else {
echo $file."
";
}
}
}
closedir($ds);
}
listdir($dirname);

核心:遞迴的經典應用,以及檔案和目錄的基本操作。

複製代碼 代碼如下:
/**
* copydir
*/

$srcdir = "../fileupload";
$dstdir = "b";

function copydir($srcdir, $dstdir) {
mkdir($dstdir);
$ds = opendir($srcdir);

while (false !== ($file = readdir($ds))) {
$path = $srcdir."/".$file;
$dstpath = $dstdir."/".$file;
if ($file != "." && $file != "..") {
if (is_dir($path)) {
copydir($path, $dstpath);
} else {
copy($path, $dstpath);
}
}
}
closedir($ds);

}

copydir($srcdir, $dstdir);

核心:copy函數。
複製代碼 代碼如下:
/**
* deldir
*/

$dirname = 'a';

function deldir($dirname) {
$ds = opendir($dirname);

while (false !== ($file = readdir($ds))) {
$path = $dirname.'/'.$file;
if($file != '.' && $file != '..') {
if (is_dir($path)) {
deldir($path);
} else {
unlink($path);
}
}
}
closedir($ds);

return rmdir($dirname);
}

deldir($dirname);

核心:注意unlink刪除的是帶path的file。

複製代碼 代碼如下:
/**
* dirsize
*/

$dirname = "a";

function dirsize($dirname) {
static $tot;
$ds = opendir($dirname);
while (false !== ($file = readdir($ds))) {
$path = $dirname.'/'.$file;
if ($file != '.' && $file != '..') {
if(is_dir($path)) {
dirsize($path);
} else {
$tot = $tot + filesize($path);
}
}
}
return $tot;
closedir($ds);
}

echo dirsize($dirname);

核心:通過判斷$tot在哪裡返回,理解遞迴函式。

http://www.bkjia.com/PHPjc/825270.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/825270.htmlTechArticle複製代碼 代碼如下: ?php /** * listdir */ header("content-type:text/html;charset=utf-8"); $dirname = "./final/factapplication"; function listdir($dirname) { $ds = opendir($d...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.