tập tin
- Đọc toàn bộ nội dung tệp thành một mảng các dòng
file_get_contents
- Đọc toàn bộ nội dung tệp thành một chuỗi
- Hàm file_ get_contents() cho kết quả tốt cho đến 40 MB và kết quả chấp nhận được cho đến 100 MB nhưng file_get_contents() tải toàn bộ tệp vào bộ nhớ nên không thể mở rộng
mở cửa
- Hàm fopen thực hiện một việc hoàn toàn khác—nó mở một bộ mô tả tệp, có chức năng như một luồng để đọc hoặc ghi tệp. Đây là một hàm cấp thấp hơn nhiều, một trình bao bọc đơn giản xung quanh hàm C fopen và chỉ cần gọi fopen sẽ không làm được gì ngoài việc mở một luồng
1. 3 GB
Sử dụng fopen()
Quá trình này đã sử dụng 15555 mili giây cho các tính toán của nó
Nó đã dành 169 ms trong các cuộc gọi hệ thống
Sử dụng file()
Quá trình này đã sử dụng 6983 ms để tính toán
Nó đã dành 4469 mili giây trong các cuộc gọi hệ thống
9. 5 GB
Sử dụng fopen()
Quá trình này đã sử dụng 113559 ms để tính toán
Nó đã dành 2532 mili giây trong các cuộc gọi hệ thống
Sử dụng file()
Quá trình này đã sử dụng 8221 ms để tính toán
Nó đã dành 7998 mili giây trong các cuộc gọi hệ thống
Có vẻ như file() nhanh hơn
Chúng tôi trả lời
Xem bài viết của tác giả
Thẻ. So sánh sự khác biệt Kích thước tệp
Tiếp tục đọc
Trước đó Tích hợp Peachpayments
Tiếp theo Thanh toán Mollie – PHP Laravel
file_get_contents() là một hàm PHP sẵn có được sử dụng để đọc tệp thành một chuỗi. Hàm này sử dụng kỹ thuật ánh xạ bộ nhớ để nâng cao hiệu suất và do đó, hàm này là phương pháp ưa thích nhất để đọc tệp thành một chuỗi
ghi chú.
- Chức năng này tương thích với phiên bản PHP 4. 3 trở lên
- Chức năng này là an toàn nhị phân, cho phép chức năng này hoạt động trên tệp nhị phân mà không sửa đổi nội dung của tệp
cú pháp
file_get_contents($path, $include_path, $context, $start, $max_length)Thông số
Loại thông số Mô tả$path (bắt buộc)chỉ định vị trí của tệp bạn muốn đọc$include_path (Tùy chọn)Tìm kiếm tệp trong include_path (bằng php. ini) nếu tham số này được đặt 1. $context (Tùy chọn)chỉ định ngữ cảnh tùy chỉnh$start (Tùy chọn)$max_length (Tùy chọn)Giá trị trả về
Nó trả về dữ liệu đã đọc nếu thành công và FALSE nếu thất bại
Thí dụ. 1)
Ví dụ 2)
Các hệ điều hành như Windows và MAC OS không phân biệt chữ hoa chữ thường trong khi các hệ điều hành Linux hoặc Unix phân biệt chữ hoa chữ thường
Việc áp dụng chuyển đổi đặt tên chẳng hạn như chữ thường chỉ dành cho đặt tên tệp là một cách thực hành tốt để đảm bảo khả năng tương thích đa nền tảng tối đa
Bây giờ chúng ta hãy xem xét một số hàm tệp PHP được sử dụng phổ biến nhất
PHP file_exists() Hàm
Chức năng này được sử dụng để xác định xem một tập tin có tồn tại hay không
- Nó rất hữu ích khi chúng ta muốn biết một tập tin có tồn tại hay không trước khi xử lý nó.
- Bạn cũng có thể sử dụng chức năng này khi tạo một tệp mới và bạn muốn đảm bảo rằng tệp chưa tồn tại trên máy chủ
Hàm file_exist có cú pháp như sau
<?php file_exists($filename); ?>NƠI ĐÂY,
- “file_exists()” là hàm PHP trả về true nếu tệp tồn tại và false nếu tệp không tồn tại
- “$file_name” là đường dẫn và tên của file cần kiểm tra
Đoạn mã dưới đây sử dụng hàm file_exists để xác định xem tệp my_settings. txt tồn tại
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>Lưu mã trên vào tệp có tên tệp_function. php Giả sử bạn đã lưu tệp trong thư mục phptuts trong htdocs, hãy mở URL http. //localhost/phptuts/file_function. php trong trình duyệt của bạn Bạn sẽ nhận được kết quả như sau
Hàm PHP fopen()
Chức năng fopen được sử dụng để mở tệp. Nó có cú pháp sau
<?php fopen($file_name,$mode,$use_include_path,$context); ?>NƠI ĐÂY,
- “fopen” là chức năng mở tệp PHP
- “$file_name” là tên file cần mở
- “$mode” là chế độ mở tệp, bảng bên dưới hiển thị các chế độ
- Đọc tập tin từ đầu
- Trả về false nếu tệp không tồn tại
- Chỉ đọc
- Đọc tập tin từ đầu
- Trả về false nếu tệp không tồn tại
- Đọc và viết
- Ghi vào tập tin lúc đầu
- cắt ngắn tập tin về độ dài bằng không
- Nếu tệp không tồn tại, hãy thử tạo nó
- Chỉ viết
- Ghi vào tệp ngay từ đầu, cắt bớt tệp thành độ dài bằng không
- Nếu tệp không tồn tại, hãy thử tạo nó
- Đọc và viết
- Nối vào tập tin ở cuối
- Nếu tệp không tồn tại, hãy thử tạo nó
- Chỉ viết
- Php nối vào tệp ở cuối
- Nếu tệp không tồn tại, hãy thử tạo nó
- Đọc và viết
- “$use_include_path” là tùy chọn, mặc định là false, nếu được đặt thành true, chức năng cũng tìm kiếm trong đường dẫn bao gồm
- “$context” là tùy chọn, có thể được sử dụng để chỉ định hỗ trợ ngữ cảnh
Hàm PHP fwrite()
Hàm fwrite được sử dụng để ghi tệp
Nó có cú pháp sau
<?php fwrite($handle, $string, $length); ?>NƠI ĐÂY,
- “fwrite” là hàm PHP để ghi vào tệp
- “$handle” là tài nguyên con trỏ tệp
- “$string” là dữ liệu được ghi vào tệp
- “$length” là tùy chọn, có thể được sử dụng để chỉ định độ dài tệp tối đa
Hàm fclose() trong PHP
Hàm fclose() dùng để đóng một file đang mở trong php
Nó có cú pháp sau
<?php fclose($handle); ?>NƠI ĐÂY,
- “fclose” là hàm PHP để đóng một tệp đang mở
- “$handle” là tài nguyên con trỏ tệp
Bây giờ hãy xem một ví dụ tạo my_settings. txt
Chúng tôi sẽ sử dụng các chức năng sau
- mở
- Fwrite
- fđóng
Mã bên dưới “create_my_settings_file. php” thực hiện ví dụ trên
Mở tệp<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> Đóng tệp<?php fclose($fh); ?>Tạo tệp<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); $text = <<<_END localhost;root;pwd1234;my_database _END; fwrite($fh, $text) or die("Could not write to file"); fclose($fh); echo "File 'my_settings.txt' written successfully"; ?>Kiểm tra mã
Mở địa chỉ http. //localhost/phptuts/create_my_settings. php trong trình duyệt của bạn
Bạn sẽ nhận được trang sau
.
Ghi chú. nếu đĩa của bạn đầy hoặc bạn không có quyền ghi tệp, bạn sẽ nhận được thông báo lỗi
Chuyển về URL http. //localhost/phptuts/file_function. php
Bạn nhận được kết quả gì?
Hàm PHP fgets()
Hàm fgets được sử dụng để đọc từng dòng tệp php. Nó có cú pháp cơ bản sau. fgets($handle);
- “$fgets” là hàm PHP để đọc các dòng tệp
- “$handle” là tài nguyên con trỏ tệp
Bây giờ hãy xem một ví dụ đọc my_settings. txt bằng hàm fopen và fgets
Mã bên dưới read_my_settings. php thực hiện ví dụ trên
<?php $fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it"); $line = fgets($fh); echo $line; fclose($fh); ?>NƠI ĐÂY,
- Hàm “fopen” trả về con trỏ tới tệp được chỉ định trong đường dẫn tệp
- Hàm “die()” được gọi nếu xảy ra lỗi. Nó hiển thị một thông báo và tồn tại việc thực thi tập lệnh
Hàm sao chép PHP ()
Hàm sao chép PHP được sử dụng để sao chép tệp. Nó có cú pháp cơ bản sau. sao chép($file,$copy_file);
- “$file” chỉ định đường dẫn tệp và tên của tệp sẽ được sao chép
- “copied_file” đã chỉ định đường dẫn và tên của tệp được sao chép
Đoạn mã dưới đây minh họa việc thực hiện
<?php copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file"); echo "File successfully copied to 'my_settings_backup.txt'"; ?>Xóa một tập tin
Chức năng hủy liên kết được sử dụng để xóa tệp. Đoạn mã dưới đây minh họa việc thực hiện
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>0PHP file_get_contents() Chức năng
Hàm file_get_contents dùng để đọc toàn bộ nội dung file
Đoạn mã dưới đây minh họa việc thực hiện
Sự khác biệt giữa file_get_contents và fgets là file_get_contents trả về dữ liệu tệp dưới dạng chuỗi trong khi fgets đọc tệp theo từng dòng