萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP fopen函數讀寫txt文件實現程序

PHP fopen函數讀寫txt文件實現程序

下面我們利用幾個實例來總結了利用php fopen函數來實現文件的讀寫操作,有需要學習的朋友可參考參考。

簡單的參考fopen函數

fopen() 函數打開文件或者 URL。

如果打開失敗,本函數返回 FALSE。

語法
fopen(filename,mode,include_path,context)

實例1

創建一個文件的例子:

 代碼如下 復制代碼

<?php
if(!file_exists("test.txt")){     //如果文件不存在(默認為當前目錄下)
    $fh = fopen("test.txt","w");
    fclose($fh);      //關閉文件
}
?>


實例 2

利用php的讀寫文本文檔的功能來實現修改和編輯robots文件

 代碼如下 復制代碼

<?php
function get_txt($robots_file)
//定義函數,內容用{}括起來
{
if(file_exists($robots_file))
//如果文件存在,讀取其中的內容
{
$fp=@fopen($robots_file,"r");
//r是read的縮寫,代表讀取的意思,以只讀方式打開文件
if ($fp) {
while (!feof($fp)) { //如果沒有到文件尾部
 $robots_txt = fgets($fp, 4096); //逐行讀取
 $robots_all = $robots_all.$robots_txt; //將數據保存到$robots_all裡面
}
return($robots_all); //返回所有內容
fclose($fp); //關閉文件
}
}
}
  
function put_txt($robots_txt)
{
$fp=fopen("robots.txt","w");
//w是write的縮寫,代表寫入的意思,以寫入的方式打開文件
fputs($fp,$robots_txt);
//輸出文本到文件
fclose($fp);
}
?>
  
<?php
$edit=$_GET["edit"];
$txt=$_POST["txt"];
$get_txt=get_txt("robots.txt");
 //調用剛才定義的函數打開robots文件。
  
if($edit=="write")
{
put_txt($txt);
echo "成功保存 <a href=robots-editer.php>返回</a>";
}
else
{
echo "成功讀取<a href=robots.txt target=_blank>robots.txt</a> <a href=writer.php>返回</a>";
}
?>
  
<?php
if($edit=="")
{
?>
<form name="form1" action="?edit=write" method="post">
<textarea name="txt" cols="160" rows="30"><?php echo $get_txt; ?></textarea>
<br />
<input name="submit" value="保存" type="submit" />
</form>
<?php
}
?>

通過PHP讀取文本文檔counter.txt裡的數據,並+1保存到文本文檔中。

新建counter.php文檔,輸入如下代碼,跟ASP不同的是PHP裡的單行注釋是用//或者#,多行注釋用/* */來實現:

 

 代碼如下 復制代碼 <?php
function get_hit($counter_file)
//定義函數,內容用{}括起來,學過編程的人應該看出來了,跟C語言有點相似
{
$count=0;
//將計數器歸零,Php裡的變量前面加上$號
  
if(file_exists($counter_file))
//如果計數器文件存在,讀取其中的內容
{
$fp=fopen($counter_file,"r");
//r是read的縮寫,代表讀取的意思,以只讀方式打開文件
$count=0+fgets($fp,20);
/*讀取前20位數賦值給count變量,由於fgets()函數讀取的是字符串,所以需要在前面+0來轉換為整數,
這一點跟ASP就不同了,ASP中字符串可以直接跟整型進行運算,而不用轉換。*/
fclose($fp);
//關閉文件
}
$count++;
//增加計數,這一點跟C就非常相似了
$fp=fopen($counter_file,"w");
//w是write的縮寫,代表寫入的意思,以寫入的方式打開文件
fputs($fp,$count);
//輸出計數值到文件
fclose($fp);
return($count);
//返回計數值
}
?>
  
<?php
$hit=get_hit("counter.txt");
//調用剛才定義的函數處理counter.txt文檔,並把結果賦值給hit變量。
echo "您是第<b>"."$hit"."</b>位訪客!";
//輸出結果。PHP與ASP的區別在於:ASP的連字符是“&”,而Php的連字符是“.”。
?>

同樣在需要調用的PHP文檔中插入這個文件:

<?php include("counter.php");?>

copyright © 萬盛學電腦網 all rights reserved