基於PHP檔案操作的詳細詮釋

來源:互聯網
上載者:User

複製代碼 代碼如下:$path1= "E:/myphp/text.txt";
if(!file_exists($path1)){
 echo "檔案不存在!";
}else{
 $handle1 = fopen($path1, 'r+') or exit("Unable to open file");
// while (!feof($handle1)){
//  echo fgets($handle1)."<br>";
// }
    while(!feof($handle1)){
     echo fgetc($handle1);
    }
}

上面的代碼闡釋了一個簡單的檔案讀取操作。說明下:
fopen是開啟檔案資源。
使用方法:
$file=fopen("welcome.txt","r");
具體意思:第一個參數是檔案的路徑。後面的參數是要求用何種方式開啟檔案,有下面幾種類型:
r  唯讀。在檔案的開頭開始。
r+  讀/寫。在檔案的開頭開始。
w  唯寫。開啟並清空檔案的內容;如果檔案不存在,則建立新檔案。
w+  讀/寫。開啟並清空檔案的內容;如果檔案不存在,則建立新檔案。
a  追加。開啟並向檔案檔案的末端進行寫操作,如果檔案不存在,則建立新檔案。
a+  讀/追加。通過向檔案末端寫內容,來保持檔案內容。
x  唯寫。建立新檔案。如果檔案已存在,則返回 FALSE。
x+  
讀/寫。建立新檔案。如果檔案已存在,則返回 FALSE 和一個錯誤。

注釋:如果 fopen() 無法開啟指定檔案,則返回 0 (false)。
比較常用的是前面的4個。
fgetc:
string fgetc ( resource$handle )
返回一個包含有一個字元的字串,該字元從 handle 指向的檔案中得到。碰到 EOF 則返回FALSE。

fgets:
string fgets ( int$handle [,int$length ] )
從 handle 指向的檔案中讀取一行並返回長度最多為length - 1 位元組的字串。碰到分行符號(包括在傳回值中)、EOF 或者已經讀取了 length - 1 位元組後停止(看先碰到那一種情況)。如果沒有指定length,則預設為 1K,或者說 1024 位元組。
出錯時返回 FALSE。

fgetss:
string fgetss ( resource$handle [,int$length [,string$allowable_tags ]] )
和 fgets() 相同,只除了 fgetss 嘗試從讀取的文本中去掉任何 HTML 和 PHP 標記。(跟fgets()相同,只是他過濾了html和php的標記而已。)
可以用可選的第三個參數指定哪些標記不被去掉。
feof() 函數檢測是否已到達檔案末尾 (eof)。

//判斷檔案或目錄是否存在
bool file_exists(string filename)
判斷檔案或目錄是否存在,存在則返回真,否則返回假
格式:

複製代碼 代碼如下:if(file_exists(“hello.txt”))
{
Echo “檔案存在”;
}
//開啟檔案

格式:
fopen(filename,mode)
說明:按指定的格式開啟指定的檔案
filename:要開啟的檔案名稱
mode : 開啟模式
fopen(“hello.txt”,”w”);
表示以寫的方式開啟hello.txt檔案

//寫檔案
格式:
fwrite(resource,string);
說明:在開啟的檔案中添加指定的內容
resource:開啟的檔案
string:要寫入的內容
例:
$handle = fopen(“hello.txt”,”w”) //若a ,則可追加資料
fwrite($handle,”1\r\n”)

//關閉檔案
格式:
fclose($handle)
說明:關閉開啟的檔案
例:
$handle = fopen(“hello.txt”,”w”);
fclose($handle);

//讀取一行資料
格式:
fgets(int handle[,int length])
說明:讀取length-1個字元。若沒有指定length,則預設位元組為1KB,
若遇到換行、EOF或則已經讀取了length-1個字元,則程式終止,
出錯時候返回false;
例:
$handle = fopen(“hello.txt”,”r”);
$buffer = fgets($handle,1024);
echo $handle; //輸出一行資訊

//讀取整個檔案
格式:
readfile(filename)
說明:讀取整個檔案,並輸出到瀏覽器
例:
<?
readfile(“hello.txt”);
?>

//取檔案大小
格式:
filesize(filename)
說明:擷取指定檔案大小,出錯返回false
例:
filesize(“a.rar”)

//刪除檔案
格式:
unlink()
說明:刪除一個檔案,成功則返回true,否則返回false
例:
unlink(“b.txt”)

//建立目錄
格式:
mkdir(dirname)
說明:建立一個目錄
例:mkdir(“newfolder”); //目前的目錄下建立新檔案夾

//刪除目錄
格式:
rmdir(dirname)
說明:刪除一個目錄
例:rmdir(“newfolder”);

//取得檔案名稱
格式:
basename(filepath)
說明:從指定的路徑中返迴文件名
例:
basename(“c:\mytools\a.txt”) //返回a.txt

//擷取檔案路徑資訊
pathinfo(path)
說明:返迴文件路徑資訊,結果儲存在數組中,數組下標為
dirname(路徑) , basename(檔案名稱) , extension(副檔名)
例:pathinfo(“c:\mytools\a.txt”)

//取絕對路徑
格式:
realpath(filename)
說明:取指定檔案的絕對路徑,失敗則返回false
例:realpath(“h.txt”)  //F:\apache\example\h.txt

//複製檔案
格式:
copy(source,dest)
說明:將source檔案複製到dest處
例:copy(“h.txt”,”newfloder\a.txt”)

//判斷是否是目錄
格式:
is_dir(filename)
說明:判斷給定檔案名稱是否是一個目錄。如果filename存在並且
為目錄,則返回true,否則返回false.
例:

複製代碼 代碼如下:if(is_dir(“newfolder”))
{
echo “是檔案目錄”;
}

//開啟目錄
格式:opendir(path)
說明:開啟一個指定檔案目錄,返回一個資源標示符
例:
$hand = opendir(“.”) //開啟根目錄

//讀取目錄
格式:
readdir($handle)
說明:讀取一個開啟的檔案目錄流
readdir($hand);

//關閉目錄
格式:
closedir($handle)
說明:關閉一個開啟的目錄流
例:closedir($hand);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.