PHP-文件操作

  • 2020 年 3 月 26 日
  • 筆記

1.2 文件操作

**1、**將字元串寫入文件

<?php  $str="床前明月光,rn疑是地上霜。rn舉頭望明月,rn低頭思故鄉。";  file_put_contents('./test.txt',$str);  //將字元串寫到文本中

小結:

1、 所有的「寫」操作都是清空重寫

2、在文本中換行是rn

r:回車   游標移動到當前行的最前面  n:換行	將游標下移動一行  按鍵盤的回車鍵做了兩步,第一步將游標移動到當前行的最前面,第二步下移一行。

3、rn是特殊字元,必須放在雙引號內

**2、**將整個文件讀入一個字元串

//方法一:  echo file_get_contents('./test.txt');   //將整個文件讀入一個字元串  //方法二:  readfile('./test.txt');	//讀取輸出文件內容    //注意:echo file_get_contents()==readfile()

**3、**打開文件並操作

fopen(地址,模式)	打開文件  模式:  r:讀		read  w:寫		 write  a:追加	append

例題:

//3.1、打開文件寫入  /*  $fp=fopen('./test.txt','w');    //打開文件返迴文件指針(文件地址)  //var_dump($fp);		//resource(3) of type (stream)  for($i=1;$i<=10;$i++)  	fputs($fp,'關關雎鳩'."rn");	//寫一行  fclose($fp);	//關閉文件  */    //3.2  打開文件讀取  /*  $fp=fopen('./test.txt','r');	//打開文件讀取  while($line=fgets($fp)){  	echo $line,'<br>';  }  */    //3.3   打開文件追加  $fp=fopen('./test.txt','a');	//打開文件追加  fputs($fp,'在河之洲');			//在文件末尾追加

小結:

1、打開文件,返迴文件指針(文件指針就是文件地址),資源類型

2、打開文件寫、追加操作,如果文件不存在,就創建新的文件

3、打開文件讀操作,文件不存在就報錯

4、fputs()寫一行,fgets()讀一行,fclose()關閉文件

5、追加是在文件的末尾追加

**4、**是否是文件【is_file()】

echo is_file('./test.txt')?'是文件':'不是文件';

**5、**判斷文件或文件夾是否存在【file_exists()】

echo file_exists('./test.txt')?'文件存在':'文件不存在';

**6、**刪除文件【unlink】

$path='./test.txt';  if(file_exists($path)){		//文件存在  	if(is_dir($path))		//如果是文件夾用rmdir()刪除  		rmdir($path);  	elseif(is_file($Path))	//如果是文件用unlink()刪除  		unlink($path);  }else{  	echo '文件夾或文件不存在';  }

**7、**二進位讀取【fread(文件指針,文件大小)】

文件的存儲有兩種:字元流和二進位流

二進位流的讀取按文件大小來讀的。

$path='./face.jpg';  $fp=fopen($path,'r');  header('content-type:image/jpeg');	//告知瀏覽器下面的程式碼通過jpg圖片方式解析  echo fread($fp,filesize($path));	//二進位讀取

多學一招:file_get_contents()也可以進行二進位讀取

header('content-type:image/jpeg');  echo file_get_contents('./face.jpg');

小結:

1、文本流有明確的結束符,二進位流沒有明確的結束符,通過文件大小判斷文件是否讀取完畢

2、file_get_contents()既可以進行字元流讀取,也可以進行二進位讀取。