1. 程式人生 > 實用技巧 >PHP學習筆記2:檔案

PHP學習筆記2:檔案

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

1、 獲取預定義的伺服器文件根目錄也有3種方法: 推薦,$_SERVER['DOCUMENT_ROOT'];
一種出去伺服器安全考慮的路徑寫法,使檔案位於整個文件樹的外部。 如: $fp = fopen("$_SERVER['DOCUMENT_ROOT']/ ../orders/orsers.txt","w");
2、fopen函式 1)路徑問題,絕對路徑和相對路徑都可。然後斜線的不同。Unix下是正斜線(/), windows下是正斜線反斜線都可,但反斜線要轉義(\\
2)檔案開啟方式上,x x+ 謹慎寫(如果未按已存在,該檔案將不會被開啟,函式返回false) 3)php.ini可以配置 allow_url_fopen指令,然後開啟ftp:// 或http://的遠端檔案。 注意1,當使用早期版本的HTTP模式時,必須在目錄名稱後加上結束斜線。如:http://www.example.com/ 而不是http://www.example.com 。後者,Web伺服器通常會使用HTTP重定向。 注意2,URL中域名不區分大小寫,但是路徑和檔名可能會區分大小寫(應該取決於目標作業系統)。 注意3,判斷打開出錯問題。 fopen()函式要是呼叫失敗,就返回false,可以通過抑制系統失敗,然後返回一種對使用者友好的方式來處理錯誤。


3、寫檔案 fwrite() ,然後fputs()是fwrite() 的別名函式。 fwrite()的一個替換函式是 file_put_contents(),這個函式可以 不先呼叫fopen,這是PHP5新引入的。

注意:分割字元或定界字元一定不能出現在輸入中,或者我們隊輸入進行處理,將分隔符刪除或者進行轉義處理
記得最後fclose($fp)
4、讀檔案的各種姿勢 1)何時讀完檔案 feof() 2)每次讀取一行資料 fgets() : 每次讀取一行資料,讀到換行符、檔案結束符或者指定的最大程度。比如 f gets($fp,999),可以最大度999-1=998B。
fgetss(): 可以過濾字串的標記 fgetcsv():可以指定定界符,把字串分為多行,如果沒指定,預設是雙引號。 3)4種讀取整個檔案方法。 readfile() :使用這個函式,將開啟檔案,然後將檔案內容輸出到標準輸出(如瀏覽器)中,然後關閉這個檔案。 fpassthru() :這個藥先fopen file() :可以賤結果發到標準輸出,或者陣列中。 file_get_contents():以字串形式返回檔案內容,而不是回顯到瀏覽器。
4)讀取一個字元 fgetc() 注意:fgetc()會返回檔案結束符EOF,而 fgets() 不會 5)讀取任意長度 fread() 6)判斷檔案是否存在 file_exists() 7)確定檔案大小 filesize() 8)刪除一個檔案 unlink() 9)檔案定位 rewind() fseek() ftell() 10)檔案鎖定 flock()

轉載於:https://my.oschina.net/bluefly/blog/477601