2013年8月25日 星期日

PHP readfile


  • <php.ini>   include path指定路徑
  1. $line = file( 'XX.htm'檔案路徑 )    [array]
    1. foreach( $line as $num => $line )         $num行數
    2. htmlspecialchars($line)  反斜線特殊字元
  2. $content = file_get_contents('XXX.htm檔案路徑')
    1. strip_tags($content)  去除標籤
  3. 寫入檔   $filesize = file_put_contents("xx.txt檔案路徑", $content字串, [狀態指標1|狀態指標2])
    1. [狀態指標]
      • [1]     FILE_USE_INCLUDE_PATH 指定路徑開啟指定檔案
      • FILE_APPEND  將字串寫入檔案內容後方
      • LOCK_EX    寫入時先鎖定檔案,防止同時被寫入
  4. read and output    
    1. is_readable(檔案路徑)
    2. readline(檔案路徑, [ ])
  5. file open
    1. fopen(檔案路徑, 開啟模式 [, ])
      • 檔案路徑
        • 使用$_SERVER['DOCUMENT_ROOT'](在本機記得將"/"改為"\\",直接上線的就不用)
        • C:\\htdocs\\...
        • http://www.abc.com/..
      • 開啟模式
        • r :開啟唯讀檔
        • r+:開啟為可讀寫檔
        • w:寫入檔。先清空再寫入。檔不在則新增
        • w+:讀寫檔。先清空再寫入。檔不在則新增
        • a:寫入檔。寫在檔案尾端。檔不在則新增
        • a+:讀寫檔。寫在檔案尾端。檔不在則新增
    2. fclose(資源)    return True/Flase
  6. flock(資源$file, 鎖定方式 [,])
    1. 鎖定方式
      • LOCK_SH 唯讀
      • LOCK_EX 獨占,寫入
      • LOCK_UN 解除唯讀
      • LOCK_NB 排它性鎖定   (若已被鎖,no wait and pass)
  7. fputs(資源, 字串)
  8. fwrite(資源, 字串)
  9. fgetc(資源)   每讀一字元回傳,到底回傳false
  10. fgets(資源)   每讀一行資料回傳,到底回傳false 
  11. fpassthru(資源)   讀取並顯示在頁面,自動關閉
  12. stream_get_contents(資源)   讀取並顯示在頁面,需用fclose( )關閉

  1. fread(資源, 檔案大小)      可讀取二進位檔,ex:圖檔
    1. fopen(檔案, "rb")
    2. echo fread(檔案, filesize(檔案));
    3. fclose(檔案)
  2. ftell(資源)  return 目前指標位置
  3. feof(資源) 是否到達檔案底部  T/F
  4. rewind(資源) 檔案關閉前,指標移至開啟的地方(開頭)
  5. fssek(資源, 移動值, [起始位置])
    1. 設定值
    • SEEK_SET 檔案開始,預設
    • SEEK_CUR 現在位置
    • SEEK_END 檔案底部
readfile( );


$logs_file = fopen($_SERVER['DOCUMENT_ROOT']."/support/logs.txt","a");
fwrite($logs_file, "寫入檔案。");
fclose($logs_file);



檔案是否存在
http://www.hkcode.com/programming/601

沒有留言:

張貼留言