在我的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
你不能编辑更新文件的脚本并删除那些额外的行吗? –