復制代碼 代碼如下:
$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);