<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ##文件操作的常量 下面這一個常量是最常用的。是文件目錄的分割符的常量。 我們來看看格式: | 平臺 | 分割符 | | -- | -- | | windows | \ | | linux | / | windows 的路徑格式為 d:\xxx\xxx 注意:windows支持 d:/xxx/xxx linux 的路徑格式為 /home/xxx/xxx 注意:如果\home\xxx\xxx 在linux上是錯誤的 所以當你開啟轉義之類的話,轉義字符 \ 用一起的話 d:\xxx\xxx 是一樣的。判斷時候有兩個 \ 有的話 再轉成一個\ 再把 \ 替換成 /當路徑分割,這樣在linux上或者windos上的路徑就能保持統一了。 我們會使用到一個常量: **DIRECTORY_SEPARATOR** 我們來寫一個小的實例,定義當前文件所在的路徑: 由于__FILE__是PHP的預定義常量,所以沒辦法改變,如果需要讓__FILE__也自適應操作系統。 那么就是不要用__FILE__,可以用自定義的常量,并且把__FILE__處理一下,如下: ~~~ <?php $_current_file = str_replace(array('/', '\\'), DIRECTORY_SEPARATOR, __FILE__); define('__CUR_FILE__', $_current_file); echo __CUR_FILE__; ?> ~~~ ##文件指針操作函數 > rewind ( resource handle) 功能:指針回到開始處 > fseek ( resource handle, int offset [, int from_where]) 功能:文件指針向后移動指定字符 我們在之前的讀取當中我們發現fread讀取指定長度的數據。讀取指定長度的內容,下次再讀取的時候從原位置開始再接著向后讀取。 ![document/2015-09-08/55eecf3c2a7e0](http://box.kancloud.cn/document_2015-09-08_55eecf3c2a7e0.png) 如上圖,我們可以想象: 1. 文件剛打開的時候讀取到的是紅色的圖標 2. 文件假設從A讀取到了C 3. 下次打開的時候可再從C綠色箭頭處開始讀取。 我們在demo.txt文件中寫入一批文件: > abcdeefghijklk > opqrst > uvwxyz > 12345678 我們可開始來實驗一次。 ~~~ <?php $fp = fopen('output.txt', 'r+'); //讀取10個字符 echo fread($fp,10); //指針設置回到開始處 rewind($handle); //再讀取10次看看輸出的是什么 echo fread($fp,10); //文件指針向后移動10個字符 echo fseek($fp,10); //再看看文件中輸出的是什么 echo fread($fp,10); fclose($handle); ?> ~~~ 上面的例子,你會發現fseek指定多長就移動多少個字節。而rewind每次都是回到文件的開始處。 那如何移動到最末尾呢?我們可以統計字節數。在fseek的時候直接移到回后。 下面我們來講filesize統計字節數。 ##filesize 檢測文件的大小 ~~~ <?php $filename = 'demo.txt'; echo $filename . '文件大小為: ' . filesize($filename) . ' bytes'; ?> ~~~ ##其它操作文件的函數 其實還有一些其他操作文件的函數,讀取文件 | 函數名 | 功能 | | -- | -- | | file | 把整個文件讀入一個數組中 | | fgets | 從文件指針中讀取一行,讀到最后返回false | | fgetc | 從文件指針中讀取一個字符,讀到最后返回false | | ftruncate | 將文件截斷到給定的長度 | 我們通過一個實例來把上面幾個函數都用到。 我們在demo.txt文件中寫入一批文件: > abcdeefghijklk > opqrst > uvwxyz > 12345678 ~~~ <?php //以增加的r模式打開 $fp = fopen('demo.txt','r+'); //你分發現每次只讀一個字符 echo fgetc($fp); //我要全部讀取可以,讀取一次將結果賦值一次給$string while($string = fgetc($fp)){ echo $string; } ?> ~~~ fgets每次打開一行: ~~~ <?php //以增加的r模式打開 $fp = fopen('demo.txt','r+'); //你分發現每次只讀一個字符 echo fgets($fp); echo fgets($fp); echo fgets($fp); echo fgets($fp); ?> ~~~ 上面的代碼,你會發現每次讀取一次打開一行。讀取最后返回的是false。 我們接下來看文件截取函數: ~~~ <?php //打開我們上面的demo.txt文件 $file = fopen("demo.txt", "a+"); //你可以數數20個字有多長,看看是不是達到效果了 echo ftruncate($file,20); fclose($file); ?> ~~~ 上例中我們發現,截取多長就能顯示多長的內容。 ###文件的時間函數 | 函數 | 功能說明 | | -- | -- | | filectime | 文件創建時間 | | filemtime | 文件修改時間 | |fileatime |文件上次訪問時間 | ~~~ <?php $filename = 'demo.txt'; if (file_exists($filename)) { echo "$filename文件的上次訪問時間是: " . date("Y-m-d H:i:s", fileatime($filename)); echo "$filename文件的創建時間是: " . date("Y-m-d H:i:s", filectime($filename)); echo "$filename文件的修改時間是: " . date("Y-m-d H:i:s", filemtime($filename)); } ?> ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看