在我的wamp服務器中,我有一個每秒更新csv文件的腳本。 我想從CSV文件中刪除行,我有這樣的代碼(從這裏:How To Delete The Top 100 Rows From a CSV File With PHP):從更新csv文件中刪除行
$input = explode("\n", file_get_contents("file.csv"));
foreach ($input as $line) {
// process all lines.
}
// This function removes first 100 elements.
// More info:
// http://php.net/manual/en/function.array-slice.php
$output = array_slice($input, 100);
file_put_contents("out.csv", implode("\n", $output));
的問題發生了,當我試圖運行上面的代碼,我得到:
「未能打開流權限被拒絕「
問題是因爲文件一直在更新。 我如何知道? 我mada的csv的副本(該文件的內容沒有更新),它的成功。
爲什麼我需要這個?
因爲文件越來越大,我必須刪除他的行..如果我不這樣做,我會得到:「PHP致命錯誤:允許的內存大小********字節用盡(試圖在第54行的/var/www/*******.php中分配71個字節「,即使我寫入ini_set(」memory_limit「,」-1「);
我提醒你 - 這是wamp服務器!
有什麼想法?
謝謝!
爲什麼你第一次寫信給csv? – PeeHaa
一些重要的數據。因爲該文件正在增長,我必須刪除他的線..如果我不這樣做,我會得到:「PHP致命錯誤:允許的內存大小********字節用盡(試圖分配71個字節)在第578行的/var/www/*******.php中,「即使我寫入ini_set(」memory_limit「,」-1「); – jhon4
你不能編輯更新文件的腳本並刪除那些額外的行嗎? –