PHP檔案操作及例項 留言板

2021-09-16 12:34:55 字數 2555 閱讀 6073

一、檔案操作函式

1.建立檔案:touch('./***.php');

bool touch ( string $filename [, int $time = time() [, int $atime ]] )

2.複製檔案:copy('./***.php','./yyy.php');

3.移動或重新命名:rename('./***.php','./yyy.php');

4.刪除檔案:unlink('./***.php');

5.擷取檔案:ftruncate('./***.php',$size);

6.檔案內容操作:

a.file_get_contents('./***.php');獲取檔案

b.file_put_contents('./***.php','aaa');寫入檔案

注:可以遠端讀取檔案,如:file_put_contents('./***.php',file_get_contents(''));

c.讀檔案readfile('');

d.$arr=file('./***.php'):將檔案存為陣列,每一行是乙個元素

注:以上涉及讀取檔案內容的函式無需先開啟檔案二、檔案的開啟與關閉1.$open=fopen('./***.php','r');

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )

注:附加mode:b操作二進位制檔案時加上,t文字檔案

3.fwrite($open,'aaaa');可以更改fopen的mode,改變每次寫入是否覆蓋

4.fgetc($open);一次讀取檔案乙個字元

5.feof($open);指標到檔案結尾返回true,可用作if判斷

6.fgets($open);一次讀取檔案一行

7.fread($open,1024);一次讀取指定長度(位元組數)的字元

注:以上讀取檔案內容必須先開啟檔案

while(!feof($open))
三、移動檔案的指標1.ftell($open);返回指標當前位置,預設為開始

2.fseek($open,-4,seek_end);將指標移動至某位置,如從檔案尾前移4個位元組,注意結尾可能有換行符。可以配合fopen的a追加模式更方便的操作

$whence值可以是:

•seek_set - 設定位置等於 offset 位元組。

•seek_cur - 設定位置為當前位置加上 offset。

•seek_end - 設定位置為檔案尾加上 offset。

3.rewind($open);將指標放到開頭

四、檔案的鎖定機制

1.flock($open,lock_sh):讀取/寫入檔案時都需要鎖定(lock_sh/lock_ex),以防止多人同時操作,解鎖時方法相同(lock_un)

注:$handle必須指向乙個開啟的檔案資源

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

operation 可以是以下值之一: 

◦ lock_sh取得共享鎖定(讀取的程式)。

◦ lock_ex 取得獨佔鎖定(寫入的程式。

◦ lock_un 釋放鎖定(無論共享或獨佔)。

<?php 

$filename='message.txt';

if(isset($_post['dosubmit']))||".time()."||||[n]";

writemessage($filename,$content);

}if(file_exists($filename))

function writemessage($filename,$content)else

fclose($open);

}function readmessage($filename)

flock($file,lock_un+lock_nb);//釋放讀取鎖及防阻塞

}else

$mess=rtrim($mess,'[n]');

$arr=explode('[n]',$mess);

foreach($arr as $value),".date('y-m-d h:i',$time).":,

"; }

fclose($file);

}?>

PHP製作留言板

首先造乙個登入頁面 上圖 然後來寫處理頁面 session start session儲存資料 include db.class.php 引用類 db new db 造方法 zhang post zhang mi post mi sql select mi from yuangong where z...

PHP 留言板練習

登入頁面同session一樣 login頁面 loginchuli頁面 session start uid post uid pwd post pwd include dbda.php db new dbda sql select count from yuangong where username...

PHP檔案操作之留言板的實現

一 引導頁 center h1 設定時區 date default timezone set prc 讀取檔案內容 string file get contents message.txt if empty string content 時間為 date y m d h i s time echo ...