一
在任何計算機設備中
二
首先介紹的是一個從目錄讀取的函數
<?php
$base_dir =
$fso = opendir($base_dir);
echo $base_dir
while($flist=readdir($fso)){
echo $flist
}
closedir($fso)
?>
這是講返回文件目錄下面的文件已經目錄的程序(
有時候需要知道目錄的信息
創建命令:
mkdir($path
rmdir($path)
將刪除路徑在$path的文件
dir
<?php
$d = dir(
echo
echo
while (false !== ($entry = $d
echo $entry
}
$d
?>
輸出:
Handle: Resource id #
Path: /etc/php
apache
cgi
cli
文件的屬性也非常重要
下面我們重點談文件操作
三
A
首先是一個文件看能不能讀取(權限問題)
<?php
$file =
if (is_readable($file) == false) {
die(
} else {
echo
}
?>
判斷文件存在的函數還有file_exists(下面演示)
<?php
$file =
if (file_exists($file) == false) {
die(
}
$data = file_get_contents($file);
echo htmlentities($data);
?>
但是file_get_contents函數在較低版本上不支持
$fso = fopen($cacheFile
$data = fread($fso
fclose($fso);
還有一種方式
$data = implode(
B
和讀取文件的方式一樣
<?php
$file =
if (is_writable($file) == false) {
die(
}
?>
能寫了的話可以使用file_put_contents函數寫入:
<?php
$file =
if (is_writable($file) == false) {
die(
}
$data =
file_put_contents ($file
?>
file_put_contents函數在php
$f = fopen($file
fwrite($f
fclose($f);
替換之
寫文件的時候有時候需要鎖定
function cache_page($pageurl
if(!$fso=fopen($pageurl
$this
return false;
}
if(!flock($fso
$this
return false;
}
if(!fwrite($fso
$this
return false;
}
flock($fso
fclose($fso);
return true;
}
C
php刪除文件非常easy
<?php
$file =
$result = @unlink ($file);
if ($result == false) {
echo
} else {
echo
}
?>
即可
復制文件也很容易:
<?php
$file =
$newfile =
if (file_exists($file) == false) {
die (
}
$result = copy($file
if ($result == false) {
echo
}
?>
可以使用rename()函數重命名一個文件夾
D
我說幾個常見的函數:
獲取最近修改時間:
<?php
$file =
echo date(
?>
返回的說unix的時間戳
相關的還有獲取上次被訪問的時間fileatime()
$owner = posix_getpwuid(fileowner($file));
(非window系統)
<?php
$file =
$perms = substr(sprintf(
echo $perms;
?>
filesize()返回文件大小的字節數:
<?php
// 輸出類似
$filename =
echo $filename
?>
獲取文件的全部信息有個返回數組的函數stat()函數:
<?php
$file =
$perms = stat($file);
var_dump($perms);
?>
那個鍵對應什麼可以查閱詳細資料
四
上面我簡要的總結了一下幾個文件操作
From:http://tw.wingwit.com/Article/program/PHP/201311/21262.html