<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # swoole_async_IO --- [TOC=2,3] --- ## **1.swoole_async_readfile** 功能:異步讀取文件內容<br> 函數原型:<br> ```php swoole_async_readfile(string $filename, mixed $callback); ``` 參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 待讀取的文件名 | | callback | 讀取結束的回調函數 | 回調函數原型:<br> ```php function callback($filename, $content); ``` 回調函數參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 文件名 | | content | 讀取到的文件內容 | 說明:<br> swoole_async_readfile會將文件內容全部復制到內存,所以不能用于大文件的讀取<br> 如果要讀取超大文件,請使用[swoole_async_read](#3swoole_async_read)函數<br> swoole_async_readfile最大可讀取**4M**的文件,受限于**SW_AIO_MAX_FILESIZE**宏<br> 示例:<br> ```php swoole_async_readfile( __DIR__."/Test.txt", function($filename, $content) { echo "$filename: $content"; }); ``` ## **2.swoole_async_writefile** 功能:異步寫文件<br> 函數原型:<br> ```php swoole_async_writefile(string $filename, string $content, mixed $callback); ``` 參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 待寫入的文件名 | | content | 待寫入的文件內容 | | callback | 寫入結束的回調函數 | 回調函數原型:<br> ```php function callback($filename); ``` 回調函數參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 文件名 | 說明:<br> swoole_async_writefile最大可寫入4M的文件,也可以不指定回調函數<br> 示例:<br> ```php swoole_async_writefile('test.log', "This is a test log", function($filename) { echo "wirte ok.\n"; }); ``` ## **3.swoole_async_read** 功能:異步分段讀文件<br> 函數原型:<br> ```php swoole_async_read(string $filename, mixed $callback, int $trunk_size = 8192); ``` 參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 待讀取的文件名 | | callback | 讀取結束的回調函數 | | trunk_size | 每次讀取的字節數 | 回調函數原型:<br> ```php function callback($filename, $content); ``` 回調函數參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 文件名 | | content | 讀取到的文件內容,如果為空代表文件已讀完。 | 說明:<br> swoole_async_read每次讀取trunk_size個字節,讀完后會自動調用callback函數<br> 在callback回調函數中,可以通過`return true/false`來控制是否繼續讀取文件。返回true代表繼續讀取,返回false代表停止讀取。 示例:<br> ```php swoole_async_read( __DIR__."/Test.txt" , function($filename, $content){ if( empty( $content ) ) { return false; } else { echo "$filename: $content"; return true; } } , 8192 ); ``` ## **4.swoole_async_write** 功能:異步寫文件<br> 函數原型:<br> ```php bool swoole_async_write(string $filename, string $content, int $offset = -1, mixed $callback = NULL); ``` 參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 待寫入的文件名 | | content | 待寫入的文件內容 | | offset | 寫入文件的位置 | | callback | 寫入結束的回調函數 | 回調函數原型:<br> ```php function callback($filename, $writen); ``` 回調函數參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 文件名 | | writen | 本次調用已經寫入的字節數 | 說明:<br> swoole_async_write過傳入的offset參數來確定寫入的位置,當offset為-1時表示追加寫入到文件的末尾<br> 示例:<br> ```php swoole_async_write( 'test_1.log', "This is a test log\n" , -1 , function( $filename, $writen ){ echo "$filename: write $writen byte\n"; }); ``` ## **5.swoole_async_dns_lookup** 功能:將域名解析為IP地址<br> 函數原型:<br> ```php bool swoole_async_dns_lookup(string $host, mixed $callback); ``` 參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 待查詢的地址 | | callback | 查詢結束的回調函數 | 回調函數原型:<br> ```php function callback($host, $ip); ``` 回調函數參數說明:<br> | 參數 | 描述 | | -------- | ----- | | filename | 文件名 | | writen | 本次調用已經寫入的字節數 | 說明:<br> 當DNS查詢失敗時,比如域名不存在,回調函數傳入的$ip為空<br> 示例:<br> ```php swoole_async_dns_lookup("www.baidu.com", function($host, $ip){ echo "{$host} : {$ip}\n"; }); ```
                  <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>

                              哎呀哎呀视频在线观看