PHP 檔案的基本操作

來源:互聯網
上載者:User
  1. //檔案的基本操作
  2. //fopen()
  3. 開啟一個檔案
  4. //使用絕對路徑開啟一個檔案,選擇唯讀模式,並返回資源$handle
  5. $handle=fopen("D:/lamp/apache2/htdocs/test/file.txt","r");
  6. //訪問主目錄下的檔案,也選擇唯讀模式
  7. $handle=fopen($_SERVER['DOCUMENT_ROOT']."/test/file.txt","r");
  8. //開啟遠程檔案,使用http協議只能以讀的方式開啟
  9. $handle=fopen("http://www.wowsai.com","r");
  10. //使用FTP協議開啟遠程檔案,如果FTP伺服器可寫,則可以以寫的模式開啟
  11. //$handle=fopen("ftp://user:password@example.com/file.txt",'w');
  12. //fclose()
  13. 關閉開啟的資源類型
  14. //fwrite()
  15. 向檔案中寫入內容
  16. $fileName="data.txt";
  17. //聲明一個檔案的變數
  18. //用唯寫的方式開啟檔案,沒有則建立,並且在開啟失敗時通過程式
  19. $f_handle=fopen("data.txt","w")or die("開啟".$fileName."檔案失敗");
  20. for($i=0;$i<10;$i++){
  21. //通過一個迴圈,向檔案中添入內容
  22. fwrite($f_handle,"again\n");
  23. }
  24. fclose($f_handle);
  25. //關閉開啟的檔案
  26. //file_put_contents()
  27. 一次將所有資料寫入到指定的檔案中
  28. //讀取檔案內容
  29. //fread()
  30. 讀取開啟的檔案
  31. //file_get_contents()
  32. 將檔案讀入字串
  33. //fgets()
  34. 從開啟的檔案中返回一行
  35. //fgetc()
  36. 從開啟的檔案中返回字元
  37. //file()
  38. 把檔案讀入一個數組中
  39. //readfile()
  40. 讀取一個檔案,並輸出到輸出緩衝
  41. //feof()
  42. 判斷一個檔案指標是否位於檔案的結束處
  43. //從檔案中讀取指定位元組數的內容存入到一個變數中
  44. $fileName2="data.txt";
  45. $f_hand=fopen($fileName2,"r")or die("檔案開啟失敗");
  46. $contents=fread($f_hand,50);
  47. fclose($f_hand);
  48. echo $contents."
    ";
  49. //從檔案中讀取全部內容存入到一個變數中,每次讀取一部分,迴圈讀取
  50. /* $fileName3="D:/lamp/apache2/icons/link.gif";
  51. //將二進位檔案的檔案名稱儲存到一個變數中
  52. $f3_handle=fopen($fileName3,"rb")or die("檔案開啟失敗"); //以唯讀方式開啟檔案,模式加了"b"
  53. $f3_contents="";
  54. //聲明一個用於儲存檔案內容的字串
  55. while(!feof($f3_handle)){
  56. //迴圈讀取檔案中的內容,知道檔案結束
  57. $f3_contents.=fread($f3_handle,1024);
  58. //每次讀取1024個字元
  59. }
  60. fclose($f3_handle);
  61. echo $f3_contents; */
  62. //另一種讀取檔案全部內容的方法
  63. $fileName4="data.txt";
  64. $f4_handle=fopen($fileName4,"r")or die("檔案開啟失敗");
  65. $f4_con=fread($f4_handle,filesize($fileName4));
  66. //用filesize擷取檔案的長度,這樣來讀取檔案的全部內容
  67. fclose($f4_handle);
  68. echo $f4_con."
    ";
  69. //另一種方法讀取檔案的全部內容,比上面的效能要好的多
  70. echo file_get_contents("data.txt");
  71. $f5_handle=fopen("data.txt","r") or die("檔案開啟失敗");
  72. while(!feof($f5_handle)){
  73. //判斷指標是否到檔案結尾
  74. $buffer=fgets($f5_handle);
  75. //每次從檔案中讀取一行
  76. echo $buffer."
    ";
  77. }
  78. fclose($f5_handle);
  79. $f6_handle=fopen("data.txt","r") or die("檔案開啟失敗");
  80. while(!feof($f6_handle)){
  81. //判斷指標是否到檔案結尾
  82. $buffer=fgetc($f6_handle);
  83. //每次從檔案中讀取一個字元
  84. echo $buffer."
    ";
  85. }
  86. fclose($f6_handle);
  87. print_r(file("data.txt"));
  88. //把檔案讀入到一個數組中
  89. readfile("data.txt");
  90. //直接將檔案中的內容讀出,並輸出到瀏覽器
  91. //訪問遠程檔案
  92. 確保php.ini中的"allow_url_fopen"是開啟的,並且確保遠程檔案具有存取權限
  93. $ws_file=fopen("http://www.wowsai.com","r")or die("遠程檔案開啟失敗");
  94. //開啟遠程檔案
  95. while(!feof($ws_file)){
  96. $ws_line=fgets($ws_file);
  97. if(preg_match("/(.*)<\/title>/",$ws_line,$res)){
  98. //使用正則匹配網站的標題
  99. $title=$res[1];
  100. break;
  101. }
  102. }
  103. fclose($ws_file);
  104. echo $title."
    ";
  105. //移動檔案的指標
  106. //ftell()
  107. 返回指標的當前位置
  108. //fseek()
  109. 移動指標到指定的位置
  110. //rewind()
  111. 移動指標到檔案的開頭
  112. $fp=fopen("data.txt","r") or die("檔案開啟失敗");
  113. //用唯讀方式開啟檔案
  114. echo ftell($fp)."
    ";
  115. //輸出剛開啟檔案時的指標的位置,預設是0
  116. echo fread($fp,10)."
    ";
  117. //讀取檔案的前10個字元,檔案指標發生了改變
  118. echo ftell($fp)."
    ";
  119. //讀取檔案的10個字元後,檔案的指標到了10的位置
  120. fseek($fp,30,SEEK_CUR);
  121. //將檔案的指標向後移動30個字元
  122. echo ftell($fp)."
    ";
  123. //檔案移動30個字元後,到了40的位置
  124. echo fread($fp,10)."
    ";
  125. //讀取40到50之間的字元,指標會到50
  126. fseek($fp,-10,SEEK_END);
  127. //將指標設定到檔案倒數第10的位置
  128. echo fread($fp,10)."
    ";
  129. //輸出檔案最後10個字元
  130. rewind($fp);
  131. //將檔案指標設定到檔案的開頭
  132. echo ftell($fp);
  133. //檔案的指標又回到了開頭,所以會輸出0
  134. fclose($fp);
  135. ?>
複製代碼
PHP
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.