標籤雲

搜尋此網誌

2008/03/14

php-檔案存取

resource fopen ( string $filename, string $mode [, bool $use_include_path [, resource $context]] )
//讀取本地端或網路的檔案

mode參數如下:
r
read only;
指標在檔案開頭
r+
read, write;
指標在檔案開頭
w
write only; 覆蓋原本檔案,
若檔案不存在會嘗試建立
w+
read, write; 覆蓋原本檔案,
若檔案不存在會嘗試建立
a
write after only;
若檔案不存在會嘗試建立
a+
read & write after;
若檔案不存在會嘗試建立
x
create & write;
若檔案不存在會return False
x+
create, read & write;
若檔案不存在會return False


bool fclose ( resource $handle )
//關閉檔案

string fgets ( resource $handle [, int $length] )
//Gets a line from file pointer. 或傳入$length 指定抓取 $length - 1 bytes

string fgetc ( resource $handle )
//Gets a character from the given file pointer.

string fread ( resource $handle, int $length )
//在 $handle 中的 file pointer 位置讀取 $length bytes 的資料, 若到 EOF(end of file)也會停止

int filesize ( string $filename )
//Gets the size for the given file.

bool feof ( resource $handle )
//查看 file pointer 是否到達檔案結尾

bool file_exists ( string $filename )
//查看檔案是否存在

string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen]]]] )
//將檔案以字串型態傳回, 也可指定範圍(從 $offset 開始抓 $maxlen 長度)

int fwrite ( resource $handle, string $string [, int $length] )
//將字串從目前 file pointer 處寫入 $handle

bool fflush ( resource $handle )
//強迫將緩衝資料寫入檔案(可用來確保讀取前已經寫入)
(但會影響檔案操作速度, 故不建議平常使用)

bool is_readable ( string $filename )
//查詢是否對某檔案有讀取權限

bool is_writable ( string $filename )
//查詢是否對某檔案有寫入權限

bool unlink ( string $filename [, resource $context] )
//刪除檔案(謹慎使用...有安全性風險)

bool rename ( string $oldname, string $newname [, resource $context] )
//檔案重新命名

string basename ( string $path [, string $suffix] )
//回傳檔名

string dirname ( string $path )
//回傳檔案所在資料夾路徑

string realpath ( string $path )
//將相對路徑轉為絕對路徑

mixed pathinfo ( string $path [, int $options] )
//回傳一個檔案相關資訊的陣列

bool rmdir ( string $dirname [, resource $context] )
//刪除資料夾(注意權限)

bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context]]] )
//嘗試建立資料夾(注意權限)

bool chdir ( string $directory )
//改變當前工作目錄

使用函示來瀏覽目錄:
resource opendir ( string $path [, resource $context] )
//開啟目錄

string readdir ( resource $dir_handle )
//讀取目錄

void rewinddir ( resource $dir_handle )
//回到目錄開頭

void closedir ( resource $dir_handle )
//關閉目錄

使用dir類別來瀏覽目錄:
class Directory {
Directory ( string $directory )
string path
resource handle

string read ( void )
void rewind ( void )
void close ( void )
}
例:
$d = dir("/etc/php5");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."\n";
}
$d->close();

沒有留言: