Год 2013, на моем обычном садовом сорте linux vps с cpanel, с настройками по умолчанию, с php 5.2.17, file_put_contents всегда занимает ~ 5 мс для коротких строк.
Случайно 5 мс - это полное время записи высококачественного жесткого диска.
file_put_contents($filename,'abcdefghi...~100chars',FILE_APPEND);
Это занимает ~ 5 мс последовательно. Это, кажется, включает в себя «блокирование» и «промывка». Так что для тех, кто интересуется скоростью file_put_contents, не менее 5 мсек / операция на общих серверах 2013 04.
Если вам нужна скорость, например, для регистрации, @Matthew Flaschen сказал:
file_put_contents is equivalent to fopen, fwrite, fclose.
fclose should ensure the file is fully flushed to disk.
Тогда нужно:
function file_put_contents_fast() {...no fclose...}
Но потребуется некоторое исследование, чтобы выяснить, что произойдет, если дескрипторы файлов останутся открытыми. Php закрывает их на выходе , но так ли это на самом деле? Даже если он падает? Что произойдет, если файл останется открытым с помощью php после сбоя? и т. д. и т. д. После 30 минут чтения и поиска в Google php ничего не было сказано о его последствиях.