Php 对大文件使用f_put_内容时出现电源故障

Php 对大文件使用f_put_内容时出现电源故障,php,fputcsv,Php,Fputcsv,在使用file\u put\u contents in for循环时,我尝试了以下方法 for(loop) { file_put_contents("content "); } for(loop) { open file; fputcsv(); close; } 因此,如果在环路中间发生电源故障。 一些数据应该写入文件中。 但它是空白的 我对fputcsv()也有同样的问题 使用fputcsv()时,我会在for循环的每次迭代中关闭和打开该文件 我试过这个 f

在使用file\u put\u contents in for循环时,我尝试了以下方法

for(loop) {
    file_put_contents("content ");
}
for(loop) {
    open file;
    fputcsv();
    close;
}
因此,如果在环路中间发生电源故障。
一些数据应该写入文件中。
但它是空白的

我对
fputcsv()也有同样的问题

使用fputcsv()时,我会在for循环的每次迭代中关闭和打开该文件

我试过这个

for(loop) {
    file_put_contents("content ");
}
for(loop) {
    open file;
    fputcsv();
    close;
}

不能保证将任何数据写入磁盘。。。您正在写入一个文件,但服务器不会在您发送文件时将每一行写入磁盘(这会非常慢);相反,在文件物理存储到磁盘之前,它会一直缓存,直到大量文件被写入磁盘。我没有尝试过,但有许多因素可能会导致文件无法写入磁盘。我想这是你打开的同一个文件?如果是这样,我建议您在循环之前打开它,在循环之后关闭它,并在向其写入数据之后使用
fflush
。我不确定是
fputcsv
以增量方式向文件中添加数据,还是只是截断数据,但以增量方式进行@MarkBaker是正确的,我不建议你这么做。但是如果你写的数据那么重要,那么你应该使用UPS来防止停电。在网络应用程序中,停电是可以接受的……它不用于核反应堆:)请显示一些实际的代码,而不是这个伪代码。缺少一些重要的细节,比如您是以截断模式还是追加模式打开文件。