Năm 2013, trên vps Linux vườn phổ biến của tôi với cPanel, với cài đặt mặc định, với php 5.2.17, file_put_contents luôn mất ~ 5ms cho độ dài chuỗi ngắn.
Vô tình 5ms là về thời gian ghi cam kết đầy đủ của một hdd chất lượng cao.
file_put_contents($filename,'abcdefghi...~100chars',FILE_APPEND);
Điều này cần ~ 5ms nhất quán. Điều đó dường như bao gồm 'chặn' và 'đỏ bừng'. Vì vậy, đối với những người tự hỏi về tốc độ của file_put_contents, ít nhất là 5ms/hoạt động trên các máy chủ thông thường 2013 04.
Nếu bạn cần tốc độ, ví dụ đối với một số khai thác gỗ, @Matthew Flaschen nói:
file_put_contents is equivalent to fopen, fwrite, fclose.
fclose should ensure the file is fully flushed to disk.
Rồi một nhu cầu :
function file_put_contents_fast() {...no fclose...}
Nhưng sẽ có một số nghiên cứu để tìm hiểu xem điều gì sẽ xảy ra nếu xử lý tệp được mở. Php closes them at exit, nhưng nó thực sự làm như vậy tất cả các thời gian? Ngay cả khi nó bị treo? Điều gì sẽ xảy ra nếu một tập tin được mở bởi php sau một vụ tai nạn? vv vv Sau 30 phút đọc sách hướng dẫn sử dụng php và googling, không có đề cập đến như vậy và hậu quả của nó.
'chặn' là cụm từ bạn quan tâm. Việc chặn hoạt động khiến chương trình của bạn phải chờ (hoặc 'chặn') cho đến khi chúng hoàn tất. Các hoạt động không bị chặn hoặc không đồng bộ là những hoạt động được gửi 'off to the background' :) – meagar