PHP檔案處理的高階應用程式—檔案指標
#PHP 可以實現檔案指標的定位以及查詢,從而實現所需資訊的快速查詢,文件指標函數有rewind(),fseek(),feof()以及ftell()函數。
在上一篇文章《PHP文件處理的高級應用程式—遠端文件存取及鎖定文件》中我們就介紹了文件的遠端存取以及怎麼樣鎖定文件,沒有看的小夥伴們,可以去看看,這裡就不多講了,今天我們主要講述文件指標裡的函數!
一:rewind()函數
該函數將檔案handle 的指標設定為檔案流的開頭,函數的語法格式如下:
bool rewind ( resource $handle )
注意:
#如果將檔案與追加(「a」)模式打開,那麼寫入檔案的任何資料總是會被附加在文件已有的內容結尾,無論文件指標的位置在何處!
二:fseek()函數
#fseek()函數實作檔案指標的定位,此函數語法格式如下:
int fseek ( resource $handle , int $offset [, int $whence = SEEK_SET ] )
handle 參數為要開啟的檔案。
offset 為指標位置或相對 whence 參數的偏移量,可以是負值。
whence的值包含以下3種:
#1. SEEK_SET, 位置等於 offset位元組。
2. SEEK_CUR, 位置等於目前位置加上 offset位元組。
3. SEEK_END,位置等於檔案尾加上 offset位元組。
如果忽略 whence參數,系統預設為 SEEK_SET。
三:feof()函數
此函數判斷檔案指標是否在檔案尾,函數語法格式如下:
bool feof ( resource $handle )
如果指標到了檔案結束的位置,就回傳true,否則回傳false。
四:ftell()函數
ftell()函數傳回目前指標的位置,函數的語法格式如下:
int ftell ( resource $handle )
下面就是使用上面4個指標函數來輸出檔案中的內容,範例程式碼如下:
<?php header("Content-Type:text/html; charset=utf-8"); $filename = "tm.txt"; //指定文件路径及文件名 if(is_file($filename)){ //判断文件是否存在 echo "文件总字节数:".filesize($filename)."<br>"; //输出总字节数 $fopen = fopen($filename,"rb"); // 打开文件 echo "初始指针位置是:".ftell($fopen)."<br>"; //输出指针位置 fseek($fopen,33); //制动指针 echo "使用fseek()函数后指针位置:".ftell($fopen)."<br>"; //输出制动后的指针位置 echo "输出当前指针后面的内容:".fgets($fopen)."<br>"; //输出从当前指针到行尾的内容 if (feof($fopen)){ //判断指针是否指向文件末尾 echo "当前指针指向文件末尾:".ftell($fopen)."<br>"; //如果指向了文件尾,则输出指针位置 rewind($fopen); //使用rewind()函数 echo "使用 rewind()函数后指针的位置:".ftell($fopen)."<br>"; //查看使用rewind()函数后指针的位置 echo "输出前33个字节的内容:".fgets($fopen,33); //输出前33个字节的内容 fclose($fopen); //关闭文件 }else{ echo "文件不存在"; } } ?>
輸出結果為:
##PHP檔案處理的進階應用到這裡就介紹結束了,下面那我們介紹PHP檔案上傳,具體內容請閱讀《php檔案上傳—配置php.inn檔案以及預定義變數$_FILES》!
以上是PHP檔案處理的進階應用—檔案指針的詳細內容。更多資訊請關注PHP中文網其他相關文章!