PHP技巧:PHP腳本編程中的文件系統函數庫_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:PHP技巧:PHP腳本中關于拼寫檢查函數庫
      aspell_new : 載入一個新的字典。 aspell_check : 檢查一個單字。 aspell_check-raw : 檢查一個單字,即使拼錯也不改變或修正。 aspell_suggest : 檢查一個單字,并提供拼寫建議。

      basename: 返回不含路徑的文件字符串。

      chgrp: 改變文件所屬的群組。

      chmod: 改變文件的屬性。

      chown: 改變文件的擁有者。

      clearstatcache: 清除文件狀態快取。

      copy: 復制文件。

      delete: 無用的項目。

      dirname: 取得路徑中的目錄名。

      diskfreespace: 取得目錄所在的剩余可用空間。

      fclose: 關閉已打開的文件。

      feof: 測試文件指針是否指到檔尾。

      fgetc: 取得文件指針所指的字符。

      fgetcsv: 取得文件指針所指行,并解析 csv 字段。

      fgets: 取得文件指針所指的行。

      fgetss: 取得文件指針所指的行,并去掉 html 語言標記。

      file: 將文件全部讀入數組變量中。

      file_exists: 檢查文件是否存在。

      fileatime: 取得文件最后的存取時間。

      filectime: 取得文件最后的改變時間。

      filegroup: 取得文件所屬的群組。

      fileinode: 取得文件的 inode 值。

      filemtime: 取得文件最后的修改時間。

      fileowner: 取得文件的擁有者。

      fileperms: 取得文件的權限配置。

      filesize: 獲得文件的大小。

      filetype: 獲得文件的類型。

      flock: 鎖住文件。

      fopen: 打開文件或者 url。

      fpassthru: 輸出所有剩余資料。

      fputs: 寫到文件指針。

      fread: 位組的方式讀取文件。

      fseek: 移動文件指針。

      ftell: 取得文件讀寫指針位置。

      fwrite: 二進位位方式寫入文件。

      set_file_buffer: 配置文件緩沖區大小。

      is_dir: 測試文件是否為目錄。

      is_executable: 測試文件是否為可執行檔。

      is_file: 測試文件是否為正常文件。

      is_link: 測試文件是否為鏈接檔。

      is_readable: 測試文件是否可讀取。

      is_writeable: 測試文件是否可寫入。

      link: 建立硬式鏈接。

      linkinfo: 取得鏈接信息。

      mkdir: 建立目錄。

      pclose: 關閉文件。

      popen: 打開文件。

      readfile: 輸出文件。

      readlink: 返回符號鏈接 (symbolic link) 目標檔。

      rename: 更改檔名。

      rewind: 重置開檔的讀寫位置指針。

      rmdir: 刪除目錄。

      stat: 取得文件相關信息。

      lstat: 取得鏈接檔相關信息。

      symlink: 建立符號鏈接 (symbolic link)。

      tempnam: 建立只一的臨時檔。

      touch: 配置最后修改時間。

      umask: 改變目前的文件屬性遮罩 umask。

      unlink: 刪除文件。

      basename

      返回不含路徑的文件字符串。

      語法: string basename(string path);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 將含路徑及文件字符串中的路徑拿掉,返回只含文件名的字符串。在 windows 系列的操作系統中,路徑可以是斜線 (/) 或反斜線 (\);在 unix 系列的操作系統,路徑為斜線 (/)。


      使用范例

      下例中的 $file 變量值為 "index.php"

      <?php

      $path = "/home/httpd/html/index.php";

      $file = basename($path);

      ?>

      參考 dirname()

      chgrp

      改變文件所屬的群組。

      語法: int chgrp(string filename, mixed group);

      返回值: 整數

      函數種類: 文件存取

      內容說明 本函數用來改變文件所屬的群組,只有系統管理員權限可以任意改變文件所屬群組,其余的使用者都只能改變本身擁有的文件。成功返回 true,失敗返回 false;在 windows 系列操作系統中,本函數什么也不做就返回 true。

      參考 chown() chmod()

      chmod

      改變文件的屬性。

      語法: int chmod(string filename, int mode);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數用來改變文件的屬性。成功則返回 true、失敗返回 false。在 mode 值中,系統不會自動將它加入 0 以獲得正確的八進位演算,若要正確的使用,可以用下例第二行的方式。

      使用范例

      下二行都是將文件屬性設為 rwxr-xr-x,但以第二行較好。

      <?

      chmod("/mydir/myfile", 755 ); // mode 為十進位,可能有潛在錯誤

      chmod("/mydir/myfile", 0755 ); // mode 為八進位,確定的屬性值

      ?>

      參考 chown() chgrp()

      chown

      改變文件的擁有者。

      語法: int chown(string filename, mixed user);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數用來改變文件的擁有人,只有系統管理員權限可以任意改變文件所屬群組,其余的使用者都只能改變本身擁有的文件。成功返回 true,失敗返回 false;在 windows 系列操作系統中,本函數什么也不做就返回 true。

      參考 chmod()

      clearstatcache

      清除文件狀態快取。

      語法: void clearstatcache(void);

      返回值: 無

      函數種類: 文件存取

      內容說明 對操作系統而言,使用 stat() 或 lstat() 二個函數是很耗資源的,尤其是當每次都要重新呼叫 stat() 及 lstat() 二個函數時,更是不經濟的方式。因此為節省資源,php 系統會將文件狀態放在快取內存中,以便隨時使用。而本函數就是提供清除快取內存中文件信息的函數。受本函數影響的函數有 stat()、lstat()、file_exists()、is_writeable()、is_readable()、is_executable ()、is_file()、is_dir()、is_link()、filectime()、fileatime()、filemtime()、 fileinode()、filegroup()、fileowner()、filesize()、filetype() 及 fileperms() 等十八個。

      參考 stat() lstat() file_exists() is_writeable() is_readable() is_executable() is_file() is_dir() is_link() filectime() fileatime() filemtime() fileinode() filegroup() fileowner() filesize() filetype() fileperms()

      copy

      復制文件。

      語法: int copy(string source, string dest);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數用來復制文件。成功則返回 true、失敗返回 false。

      使用范例

      本例復制文件,失敗時顯示復制失敗的信息。

      <?

      if (!copy($file, $file.'.bak')) {

      print("復制文件 $file 失敗...<br>\n");

      }

      ?>

      參考 rename()

      delete

      無用的項目。

      語法: void delete(string file);

      返回值: 無

      函數種類: 文件存取

      內容說明: 本函數為無用的項目。要刪除文件用 unlink()、要刪去變量用 unset()。

      參考 unlink() unset()

      dirname

      取得路徑中的目錄名。

      語法: string dirname(string path);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數返回 path 中的目錄名稱。在 win32 系統中,用斜線 (/) 或者反斜線 (\) 都可以;但是其它的操作系統的路徑都是 (/)。

      使用范例

      本例返回字符串 $file 為 "/etc"。

      <?

      $path = "/etc/hostname";

      $file = dirname($path);

      ?>

      參考 basename()

      diskfreespace

      取得目錄所在的剩余可用空間。

      語法: float diskfreespace(string directory);

      返回值: 浮點數

      函數種類: 文件存取

      內容說明: 本函數用來取得目錄所在儲存裝置的剩余空間,單位為位組 (byte)。

      使用范例

      本例可以知道根目錄的剩余空間。

      <?

      $df = diskfreespace("/");

      ?>

      fclose

      關閉已打開的文件。

      語法: int fclose(int fp);

      返回值: 整數

      函數種類: 文件存取

      內容說明:本函數用來關閉已經打開的文件的指針 fp。成功返回 true,失敗則返回 false。其中的文件指針必須是有效的,且必須是已經用 fopen() 或 fsockopen() 成功開文件的指針。

      feof

      測試文件指針是否指到文件尾。

      語法: int feof(int fp);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數測試文件的指針是否指到文件尾 (end of file, eof)。若是成功或發生錯誤則返回 true 值,其它情形返回 false 值。其中的文件指針必須是有效的,且必須是已經用 fopen()、popen() 或 fsockopen() 成功開文件的指針。

      fgetc

      取得文件指針所指的字符。

      語法: string fgetc(int fp);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數取得文件指針所指的字符,返回字符串類型的字符。指針若在 eof 則返回 false。其中的文件指針必須是有效的,且必須是已經用 fopen()、popen() 或 fsockopen() 成功開文件的指針。

      參考 fread() fopen() popen() fsockopen() fgets()

      fgetcsv

      取得文件指針所指行,并解析 csv 字段。

      語法: array fgetcsv(int fp, int length, string [delimiter]);

      返回值: 數組

      函數種類: 文件存取

      內容說明: 本函數與 fgets() 的功用類似,不同的地方在于本函數用來解析讀取行的 csv 字段資料,并將其放入數組變量之中。其中的第三個參數 delimiter 若未指定,則使用內定值:逗號。其中的文件指針 fp 必須是有效的,且必須是已經用 fopen()、popen() 或 fsockopen()
      成功開文件的指針。而第二個參數 length 的值必須要比 csv 文件最長一行的字符數還大。本函數若發生錯誤或者到文件尾 (eof, end of
      file),則會返回 false 值。若遇到空行,則傳到數組結構的字符為空字符字段 (null),而不是當作發生錯誤的情形。
      使用范例


      <?

      $row=1;

      $fp = fopen("mycsv.csv","r");

      while ($data = fgetcsv($fp,1000, ",")) {

      $num = count($data);

      print "<p>字段 $num 在第 $row 行: <br>";

      $row ;

      for ( $c=0; $c<$num; $c ) print $data[$c] . "<br>";

      }

      fclose($fp);

      ?>

      fgets

      取得文件指針所指的行。

      語法: string fgets(int fp, int length);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數取得文件指針所指的行,返回字符串長度為行的長度減一。若發生錯誤則返回 false。一般常遇到的陷阱是用 c 語言的經驗
      來使用本函數,而 eof 時的處理方式則和 c 語言的 fgets() 不同。其中的文件指針必須是有效的,且必須是已經用 fopen()、popen() 或
      fsockopen() 成功開文件的指針。

      使用范例

      <?php

      $fd = fopen("/tmp/myfile.txt", "r");

      while ($buffer = fgets($fd, 4096)) {

      echo $buffer;

      }

      fclose($fd);

      ?>

      參考: fread() fopen() popen() fsockopen() fgetc()

      fgetss

      取得文件指針所指的行,并去掉 html 語言標記。

      語法: string fgetss(int fp, int length);

      返回值: 字符串

      函數種類: 文件存取

      內容說明

      本函數除了 fgets() 的功能,并同時去掉取回字符串中的 html 語言及 php 語法的標記字符串。

      參考: fopen() popen() fsockopen() fgets() strip_tags()

      file

      將文件全部讀入數組變量中。

      語法: array file(string filename);

      返回值: 數組

      函數種類: 文件存取

      內容說明: 本函數與 readfile() 類似,不同的地方為本函數將文件全部讀出,并輸出到數組的變量中,每行都是單獨的數組元素。

      參考: fopen() popen() readfile()

      file_exists

      檢查文件是否存在。

      語法: int file_exists(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數用來測試檢查文件是否存在,返回 true 表示文件存在。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      fileatime

      取得文件最后的存取時間。

      語法: int fileatime(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件 filename 的最后存取時間。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考
      clearstatcache()。

      filectime

      取得文件最后的改變時間。

      語法: int filectime(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件 filename 的 inode 最后改變時間。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考
      clearstatcache()。

      filegroup

      取得文件所屬的群組。

      語法: int filegroup(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件的群組使用者 gid 值。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      fileinode

      取得文件的 inode 值。

      語法: int fileinode(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件的 inode 值。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      filemtime

      取得文件最后的修改時間。

      語法: int filemtime(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件 filename 的最后修改時間。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考
      clearstatcache()。

      使用范例

      以下是 benbatten@home.com (29-apr-1999) 在 win95 上的實作范例,例中返回當頁 homepage 的最后修改時間并將 filemtime() 返回的unix 格式的時間字符串轉換成 12 小時制的字符串。

      (注:由于本例的文件為 __file__ 表示目前的文件,其實和使用 getlastmod() 函數有相同的效果。)

      <?php

      $filemod = filemtime(__file__);

      $filemodtime = date("f j y h:i:s a", $filemod);

      print("本頁最后修改時間: $filemodtime");

      ?>

      fileowner

      取得文件的擁有者。

      語法: int fileowner(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件擁有者的 uid 值。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      fileperms

      取得文件的權限配置。

      語法: int fileperms(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件的權限配置值。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      filesize

      獲得文件的大小。

      語法: int filesize(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回指定文件的文件大小。返回 false 表示發生錯誤。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      filetype

      獲得文件的類型。

      語法: string filetype(string filename);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數返回指定文件的文件類型。可能的返回類型有 fifo、char、dir、block、link、file 及 unknown 等等。返回 false 表示
      發生錯誤。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      flock

      鎖住文件。

      語法: boolean flock(int fp, int operation);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數用來鎖住文件,使別的行程無法存取。傳入的參數 fp 為文件的指針。參數 operation 的值為下列的數字之一:1 表示配置
      鎖住文件可以允許別的行程讀。2 表示只有該行程可以寫入文件;3 表示讀寫均鎖住;4 則不鎖住區塊 (block)。而本函數無論在 unix 或
      是 windows 系列中的鎖住效果都相近。執行成功則返回 true 值,否則返回 false 值。

      fopen

      打開文件或者 url。

      語法: int fopen(string filename, string mode);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 說明: 本函數可用來打開本地或者遠端的文件。若參數 filename 為 "http://......" 則本函數利用 http 1.0 協議與服務器連接,文件指針則指到服務器返回文件的起始處。若參數 filename 為 "ftp://......." 則本函數會與服務器連接,文件指針指到指定的文件處。若 ftp 服務器沒有支持被動模式 (passive mode ftp) 則返回失敗值。打開的 ftp 文件可以是讀取或寫入其中之一,但不能讀或寫二種同時使用。其它的情形,本函數打開本地的文件,文件的指針則指向打開的文件。若開文件失敗,則返回 false 值。

      字符串參數 mode 可以是下列的情形:

      'r' 開文件方式為只讀,文件指針指到開始處。

      'r ' 開文件方式為可讀寫,文件指針指到開始處。

      'w' 開文件方式為寫入,文件指針指到開始處,并將原文件的長度設為 0。若文件不存在,則建立新文件。

      'w ' 開文件方式為可讀寫,文件指針指到開始處,并將原文件的長度設為 0。若文件不存在,則建立新文件。

      'a' 開文件方式為寫入,文件指針指到文件最后。若文件不存在,則建立新文件。

      'a ' 開文件方式為可讀寫,文件指針指到文件最后。若文件不存在,則建立新文件。

      'b' 若操作系統的文字及二進位文件不同,則可以用此參數,unix 系統不需要使用本參數。

      使用范例

      第一行為 unix 系統使用;第二行是 windows 系列系統的用法;第三、四行則為 url 的使用范例。

      <?

      $fp = fopen("/home/rasmus/file.txt", "r");

      $fp = fopen("c:\\mydata\\info.txt", "r");

      $fp = fopen("http://www.php.net/", "r");

      $fp = fopen("ftp://user:password@my.com/", "w");

      ?>

      參考

      fclose() popen() fsockopen()

      fpassthru

      輸出所有剩余資料。

      語法: int fpassthru(int fp);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數讀取文件 fp 直到文件尾 (end of file, eof),并將資料輸出到標準輸出 (standard output)。若有錯誤發生,則返回false 值。而文件 fp 必須由 fopen()、popen() 或 fsockopen() 打開成功的指針。當本函數讀完文件,會自動將文件關閉,即 fp 變無效。如果只是要將文件輸出到標準輸出,可以使用 readfile() 會比用 fopen() 更好。

      參考: readfile() fopen() fclose() popen() fsockopen()

      fputs

      寫到文件指針。

      語法: int fputs(int fp, string str, int [length]);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數即 fwrite(),只是一個別名。用來將字符串 str 寫到文件指針。

      fread

      位組的方式讀取文件。

      語法: string fread(int fp, int length);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數讀到指定長度的位組或到文件尾 eof。

      使用范例

      <?php

      $filename = "/usr/local/myfile.txt";

      $fd = fopen( $filename, "r" );

      $contents = fread($fd, filesize($filename));

      fclose( $fd );

      ?>

      參考: readfile() fopen() fclose() fwrite() fgets() fgetss() file() fpassthru() popen() fsockopen()

      fseek

      移動文件指針。

      語法: int fseek(int fp, int offset);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數將文件 fp 的指針移到指定的偏移位 (offset) 上。使用本函數就像 c 語言中的 fseek(fp, offset, seek_set) 函數。成
      功則返回 0,失敗則返回 -1 值。當 fp 由 fopen() 打開 "http://...." 或是 "ftp://...." 等 url 文件時,本函數無法作用。

      參考: ftell() rewind()

      ftell

      取得文件讀寫指針位置。

      語法: int ftell(int fp);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數返回文件 fp 的指針偏移位 (offset) 值。當發生錯誤時,返回 false 值。文件指針 fp 必須是有效的,且使用 fopen() 或者 popen() 二個函數打開方可作用。

      參考: fopen() popen() fseek() rewind()

      fwrite

      二進位位方式寫入文件。

      語法: int fwrite(int fp, string string, int [length]);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數將字符串 string 寫入文件資料流的指針 fp 上。若有指定長度 length,則會寫入指定長度字符串,或是寫到字符串結束。
      注意的是若指定了長度,則在 php 環境配置值 magic_quotes_runtime 的配置將被忽略,同時字符串中的斜線不會被刪除。

      參考: fread() fopen() popen() fsockopen() fputs()

      set_file_buffer

      配置文件緩沖區大小。

      語法: int set_file_buffer(int fp, int buffer);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數配置文件的緩沖區大小供寫入文件使用。若 buffer 值設為 0,則在寫入操作時無緩沖區。成功則返回 0 值。值得注意的是當文件打開 (fopen) 時,會使用本函數將默認的緩沖區設為 8k。

      參考: fopen()

      is_dir

      測試文件是否為目錄。

      語法: boolean is_dir(string filename);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數返回 true 值則表示指定的 filename 為目錄名稱。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      注意: php@wastelan.com (11-jun-1999) 指出若用 is_dir("..");的方式,返回的也是 true。

      參考: is_file() is_link()

      is_executable

      測試文件是否為可執行文件。

      語法: boolean is_executable(string filename);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數返回 true 值則表示指定的 filename 存在并為可執行文件。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      參考: is_file() is_link()

      is_file

      測試文件是否為正常文件。

      語法: boolean is_file(string filename);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數返回 true 值則表示指定的 filename 存在并為正常的文件。返回值放在快取緩沖區中,可以參考 clearstatcache()。

      參考: is_dir() is_link()

      is_link

      測試文件是否為鏈接文件。

      語法: boolean is_link(string filename);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數返回 true 值則表示指定的 filename 存在并為符號鏈接文件 (symbolic link)。返回值放在快取緩沖區中,可以參考
      clearstatcache()。

      參考: is_dir() is_file()

      is_readable

      測試文件是否可讀取。

      語法: boolean is_readable(string filename);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數返回 true 值則表示指定的 filename 存在并且可讀取。返回值放在快取緩沖區中,參考 clearstatcache()。

      參考: is_writeable()

      is_writeable

      測試文件是否可寫入。

      語法: boolean is_writeable(string filename);

      返回值: 布爾值

      函數種類: 文件存取

      內容說明: 本函數返回 true 值則表示指定的 filename 存在并且可讀取。參數 filename 也可以是目錄名稱,用來測試該目錄是否可寫入。
      返回值放在快取緩沖區中,參考 clearstatcache()。

      參考: readable()

      link

      建立硬式鏈接。

      語法: int link(string target, string link);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數建立硬式鏈接,用來將參數 link 鏈接至 target。

      參考: symlink() readlink() linkinfo()

      linkinfo

      取得鏈接信息。

      語法: int linkinfo(string path);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數使用系統呼叫 lstat,返回 unix 上 c 語言 stat 結構類型的 st_dev 字段。返回 0 或 false 表示發生錯誤。

      參考: symlink() readlink() link()

      mkdir

      建立目錄。

      語法: int mkdir(string pathname, int mode);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數建立參數 pathname 目錄,參數 mode 以八進位的方式指定 (在參數前加 0) 比較不會出錯。返回 true 表示成功,失敗則
      返回 false。

      使用范例

      下例就是用八進位的例子,建立 /path/to/my/dir 目錄,該目錄只有擁有者及 root 等級可讀寫執行,其它人無法使用。

      <?php

      mkdir("/path/to/my/dir", 0700);

      ?>

      參考: rmdir()

      pclose

      關閉文件。

      語法: int pclose(int fp);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數用來關閉以 popen() 打開的管道文件。而參數 fp 必需是有效的,且使用 popen() 打開的文件。返回結處理文件的結束狀
      態。

      參考: popen()

      popen

      打開文件。

      語法: int popen(string command, string mode);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數執行指令開檔,而該文件是用管道方式處理的文件。用本函數打開的文件只能是單向的 (只能讀或只能寫),而且一定要用
      pclose() 關閉。在文件操作上可使用 fgets()、fgetss() 與 fputs()。若是開檔發生錯誤,返回 false 值。

      使用范例

      <?

      $fp = popen( "/bin/ls", "r" );

      ?>

      參考: pclose()

      readfile

      輸出文件。

      語法: int readfile(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數讀取文件,并將文件內容寫入標準輸出設備中。返回值是讀取的文件大小。若有錯誤返回 false 值,可以在函數前面加入 @,變成 @readfile,就可以隱藏起來。和 fopen() 用法一樣,若參數 filename 為 "http://......" 則本函數利用 http 1.0 協議與服務器連接,文件指針則指到服務器返回文件的起始處。若參數 filename 為 "ftp://......." 則本函數會與服務器連接,文件指針指到指定的文件處。若 ftp 服務器沒有支持被動模式 (passive mode ftp) 則返回失敗值。打開的 ftp 文件可以是讀取或寫入其中之一,但不能讀或寫二種同時使用。其它的情形,本函數打開本地的文件,文件的指針則指向打開的文件。若開檔失敗,則返回 false 值。

      參考: fpassthru() file() fopen()

      readlink

      返回符號鏈接 (symbolic link) 目標檔。

      語法: string readlink(string path);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數和 c 語言的同名函數用法相同,返回符號鏈接的文件。若發生錯誤則返回 0。

      參考: symlink() linkinfo()

      rename

      更改檔名。

      語法: int rename(string oldname, string newname);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數可將舊檔名 oldname 改成新檔名 newname。成功則返回 true、失敗則返回 false。

      rewind

      重置開檔的讀寫位置指針。

      語法: int rewind(int fp);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數重置文件的讀寫位置指針到標案的開頭處。發生錯誤則返回 0。文件 fp 必須是有效且用 fopen() 打開的文件。

      使用范例

      fseek ftell

      rmdir

      刪除目錄。

      語法: int rmdir(string dirname);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數可用來刪除目錄。欲刪除的路徑必須是空的目錄,且權限必須要合乎要求。發生錯誤則返回 0。

      參考: mkdir()

      stat

      取得文件相關信息。

      語法: array stat(string filename);

      返回值: 數組

      函數種類: 文件存取

      內容說明: 本函數可蒐集文件的相關信息,并返回數組。數組的元素依序如下:

      裝置名稱 (device)

      inode 值

      inode 文件模式

      參照到該檔的名稱總數,含 link 檔。

      擁有者的 uid

      擁有者的 gid

      若為字符或裝置設備則為裝置類型 (限系統支持 st_blksize 方有效,windows 系列返回 -1)

      位組為單位的文件長度

      最后存取時間

      最后修改時間

      最后改動時間

      文件系統的區塊大小 (限系統支持 st_blksize 方有效,windows 系列返回 -1)

      匹配的區塊數

      返回值放在快取緩沖區中,參考 clearstatcache()。

      lstat

      取得鏈接文件相關信息。

      語法: array lstat(string filename);

      返回值: 數組

      函數種類: 文件存取

      內容說明: 本函數可蒐集鏈接文件的相關信息,并返回數組。數組的元素依序如下:

      裝置名稱 (device)

      inode 值

      鏈接 (link) 到該文件的總數。

      擁有者的 uid

      擁有者的 gid

      若為字符或裝置設備則為裝置類型 (限系統支持 st_blksize 方有效,windows 系列返回 -1)

      位組為單位的文件長度

      最后存取時間

      最后修改時間

      最后改動時間

      文件系統的區塊大小 (限系統支持 st_blksize 方有效,windows 系列返回 -1)

      匹配的區塊數

      返回值放在快取緩沖區中,參考 clearstatcache()。

      symlink

      建立符號鏈接 (symbolic link)。

      語法: int symlink(string target, string link);

      返回值: 整數

      函數種類: 文件存取

      內容說明

      本函數可用來建立符號鏈接。從參數 target 鏈接到 link 處。建立硬式鏈接可用 link() 函數。

      參考: link() readlink() linkinfo()

      tempnam

      建立只一的臨時檔。

      語法: string tempnam(string dir, string prefix);

      返回值: 字符串

      函數種類: 文件存取

      內容說明: 本函數可建立一個臨時檔,檔名不會與同目錄中的文件重覆。返回字符串就是建立的臨時檔名。若發生錯誤則返回空字符串。

      使用范例

      <?

      $tmpfname = tempnam( "/tmp", "haha" );

      ?>

      touch

      配置最后修改時間。

      語法: int touch(string filename, int [time]);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數可用來配置最后修改時間。若有指定參數 time,則依指定的時間;若無指定時間,則為服務器的時間。和 unix 的同名指令
      一樣,若文件不存在,則會建立 filename 文件。成功則返回 true 值,其它失敗時則返回 false。

      umask

      改變目前的文件屬性遮罩 umask。

      語法: int umask(int [mask]);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數用來配置 php 的 umask 值。此值是 mask 與 0777 運算的值,返回舊的 umask 值。當參數 mask 不存在時,本函數將返回目前的 umask 值。

      unlink
      刪除文件。

      語法: int unlink(string filename);

      返回值: 整數

      函數種類: 文件存取

      內容說明: 本函數刪除文件 filename,用法像 unix 中 c 語言呼叫的同名函數 unlink()。當發生錯誤則返回 0 或 false。

      參考: rmdir()

      分享:PHP技巧:Smarty adodb分頁示例
      利用Smarty adodb分頁示例, 下面給出的是分頁部份的代碼。 分頁文件:page.lbi 以下為引用的內容: <table width="100%"

      來源:模板無憂//所屬分類:PHP教程/更新時間:2008-08-22
      相關PHP教程