對(duì)目錄的操作
mkdir函數(shù)
創(chuàng)建一個(gè)目錄
mkdir('路徑',0777,true);
刪除一個(gè)目錄
rmdir('路徑');
修改目錄名
rename('舊的文件路徑','新的文件路徑');
查詢操作
打開(kāi)一個(gè)目錄
$od = opendir('路徑');
讀取目錄中的內(nèi)容
// 每次都會(huì)讀取一個(gè)文件 直到讀取到false
readdir($od);
關(guān)閉一個(gè)打開(kāi)的目錄
closedir($od);
查詢輔助操作函數(shù)
將給定的路徑轉(zhuǎn)換為絕對(duì)路徑地址
realpath('./');
返回當(dāng)前給定路徑的基礎(chǔ)文件(或文件夾)名部分
basename('/var/www/html'); // 返回值:html
返回當(dāng)前給定路徑的目錄部分
dirname('/var/www/html'); // 返回值:/var/www
判斷一個(gè)給定文件是否是一個(gè)目錄
is_dir('/var/www/html');
遞歸獲取文件夾內(nèi)容
function recursiveDir($path, $level=0){
$od = opendir($path);//打開(kāi)目錄
while ( $file=readdir($od) ){
if($file=='.'||$file=='..') continue;//排除.和..目錄
$fileName = $path . '/' . $file;//拼接文件包含路徑的全路徑
echo str_repeat('--- ', $level);
if( is_dir($fileName) ){//如果是一個(gè)目錄
echo '<span style="color:red;">' . $file . '</span><br/>';
recursiveDir($fileName, $level+1);
}else{//否則不是目錄
echo $file . '<br/>';
}
}
}
recursiveDir('./demo');
PHP4相關(guān)的文件操作
fopen函數(shù) 打開(kāi)一個(gè)文件
$fp = fopen('文件路徑','r'); // 只讀模式打開(kāi)
$fp = fopen('文件路徑','a+'); // 讀寫(xiě)模式打開(kāi)
讀取文件中的內(nèi)容
$size = filesize('文件路徑'); // 獲取文件大小
fread($fp, $size);
向文件中寫(xiě)入內(nèi)容
fwrite($fp,'內(nèi)容');
關(guān)閉打開(kāi)的文件
fclose($fp);
PHP5相關(guān)文件操作函數(shù)
向文件中寫(xiě)入內(nèi)容
file_put_contents('文件路徑','寫(xiě)入內(nèi)容'); // 覆蓋寫(xiě)入
file_put_contents('文件路徑','寫(xiě)入內(nèi)容',FILE_APPEND); // 增量寫(xiě)入
判斷一個(gè)文件是否存在
file_exists('文件路徑');
文件下載
#表示服務(wù)器告訴瀏覽器接下來(lái)返回給你的內(nèi)容是流媒體文件格式的數(shù)據(jù)
header("Content-type:application/octet-stream");
#表示服務(wù)器告訴瀏覽器接下來(lái)返回的內(nèi)容你應(yīng)該當(dāng)成附件(文件)的形式來(lái)對(duì)待队贱,新名字以filename規(guī)定的名字來(lái)命名
header("Content-disposition:attachment;filename=$newFileName");
#將文件的內(nèi)容輸出給瀏覽器 $wholeFileName文件路徑
echo file_get_contents($wholeFileName);