PHP 獲取 遠端 大檔案方法記錄

2021-10-21 08:38:07 字數 564 閱讀 7995

通常php獲取檔案時,會使用file_get_contents()。但當獲取大檔案時,可能會報這樣的錯:

allowed memory size of 134217728 bytes exhausted (tried to allocate 49422336 bytes)
這是因為file_get_contents()獲取檔案時,會把檔案內容放到乙個字串裡, 當字串大小超過php.ini裡設定的memory_limit 引數時,就會報這個錯。解決方法是可以把這個引數修改的大一點,一般是128m,可以修改的更大點。但修改後需要重啟伺服器,這很麻煩。也可以動態修改這個值,使用 ini_set。 本人使用的是下面的方法來解決:

$handle = fopen("遠端檔案位址", "rb");

$fp = fopen('vv.mp4', 'w');//開啟乙個檔案,

while (!feof($handle))

fclose($handle);

fclose($fp);

這樣再大的檔案也可以讀取,只不過迴圈次數多點,用時長點。

獲取遠端大檔案部分內容的方法

獲取遠端大檔案部分內容的方法 一些其它介紹可以移步 或者直接檢視rfc 我們使用檔案記錄上次訪問的位置,下次直接從這個位置訪問 使用php的fsockopen函式實現獲取大檔案部分內容的 如下 123 4567 891011 1213 1415 1617 1819 2021 2223 2425 26...

php快速獲取超大檔案行數的方法

start microtime true filesize filesize shuiping yang.log fp fopen shuiping yang.log r getfp fopen shuiping yang.log r lines 0 line 0 獲取檔案的一行內容,注意 需要ph...

php上傳大檔案設定方法

開啟php.ini,首先找到 file uploads 區域,有影響檔案上傳的以下幾個引數 file uploads on 是否允許通過http上傳檔案的開關。預設為on即是開 upload tmp dir 檔案上傳至伺服器上儲存臨時檔案的地方,如果沒指定就會用系統預設的臨時資料夾 upload m...