在php中提供了大量的對文件操作的函數,下面我來給大家總結php 文件函數對文件讀入,寫入操作,有需了解的這些函數的朋友可進入參考。
一、操作文件,獲取文件信息
代碼如下 復制代碼 //打開文件
$file_path="text.txt";
if($fp=fopen($file_path,"r")){
//取出文件的信息
$file_info=fstat($fp);
echo "
"; print_r($file_info); echo "";
//單個的取出
$file_size=$file_info['size'];
//文件大小按字節來計算的
echo "文件的大小為:".$file_size;
echo "
文件上次訪問的時間:".date("Y-m-d H:i:s",$file_info['atime']); //atime表示【該文件上次被訪問的時間】
echo "
文件上次修改的時間:".date("Y-m-d H:i:s",$file_info['mtime']); //mtime表示【該文件上次內容被修改的時間】
echo "
文件上次change的時間:".date("Y-m-d H:i:s",$file_info['ctime']); //ctime表示【該文件上次 文件所有者/文件組 修改的時間】
}else{
echo "打開文件失敗";
}
//關閉文件,這個非常重要
fclose($fp);
?>
2、第二種獲取文件信息方式
代碼如下 復制代碼 //第二種獲取文件信息
$file_path="text.txt";
if(!file_exists($file_path)){
echo "文件不存在";
exit();
}
echo "
".date("Y-m-d H:i:s",fileatime($file_path));
echo "
".date("Y-m-d H:i:s",filemtime($file_path));
echo "
".date("Y-m-d H:i:s",filectime($file_path));
//echo "
".filemtime($file_path);
//echo "
".filectime($file_path);
?>
二、讀取文件操作
代碼如下 復制代碼 //讀取文件
$file_path="text.txt";
if(!file_exists($file_path)){
echo "文件不存在";
exit();
}
//打開文件
$fp=fopen($file_path,"a+");
//讀取文件
$content=fread($fp,filesize($file_path));
echo "文件內容是:
";
//默認情況下把內容輸出到網頁後,不會換行顯示,因為網頁不識別rn
//所有要把rn =>
$content=str_replace("rn","
",$content);
echo $content;
fclose($fp);
?>
2、第二種讀取文件的方式
代碼如下 復制代碼
//第二種讀取文件的方式
$file_path="text.txt";
if(!file_exists($file_path)){
echo "文件不存在";
exit();
}
$content=file_get_contents($file_path);
$content=str_replace("rn","
",$content);
echo $content;
?>
3、第三種讀取方法,循環讀取(對付大文件)
代碼如下 復制代碼
//第三種讀取方法,循環讀取(對付大文件)
$file_path="text.txt";
if(!file_exists($file_path)){
echo "文件不存在";
exit();
}
//打開文件
$fp=fopen($file_path,"a+");
//定義每次讀取的多少字節
$buffer=1024;
//一邊讀取。一邊判斷是否達到文件末尾
while(!feof($fp)){
//按1024個字節讀取數據
$content=fread($fp,$buffer);
echo $content;
}
fclose($fp);
?>
4、文件讀取實際應用:當我們連接數據庫的時候,可以把指定的數據配置到一個文件中,然後再PHP運行時,實時獲取信息
代碼如下 復制代碼db.ini 文件
host=127.0.0.1
user=root
pwd=root
db=test
獲取文件
$arr=parse_ini_file("db.ini");
echo "
"; print_r($arr); echo "";
//連接數據庫
$conn = mysql_connect($arr['host'], $arr['user'], $arr['pwd']);
if(!$conn){
echo "error";
}
echo "OK";
?>
三、寫文件
代碼如下 復制代碼 //寫文件
$file_path="text.txt";
if(!file_exists($file_path)){
echo "文件不存在";
exit();
}
//"a+" 在文件後面追加 "w+"重新寫入
$fp=fopen($file_path,"w+");
$con="rn你好";
for($i=0;$i<10;$i++){
fwrite($fp,$con);}
echo "添加成功";
fclose($fp);
?>
2、第二中方式 通過file_put_contents函數
代碼如下 復制代碼
//第二種方式寫文件
$file_path="text.txt";
$content="hello,worldrn";
//將一個字符串寫入文件 默認是【FILE_USE_INCLUDE_PATH 】"w+"重新寫入
file_put_contents($file_path,$content,FILE_APPEND);
echo "OK";
?>