Chức năng và xử lý tệp PHP()
Tập tin là gì?
Một tập tin chỉ đơn giản là một tài nguyên để lưu trữ thông tin trên máy tính.
Các tập tin thường được sử dụng để lưu trữ thông tin như:
- Cài đặt cấu hình của một chương trình
- Dữ liệu đơn giản như tên liên lạc và số điện thoại.
- Hình ảnh, Hình ảnh, Hình ảnh, v.v.
Hỗ trợ định dạng tệp PHP
Các hàm tệp PHP hỗ trợ nhiều định dạng tệp bao gồm:
- Tệp.txt
- Tệp.log
- File.custom_extension tức là file.xyz
- Tệp.csv
- File.gif, file.jpg, v.v.
- Tệp cung cấp giải pháp lưu trữ dữ liệu hiệu quả về mặt chi phí lâu dài cho dữ liệu đơn giản so với cơ sở dữ liệu yêu cầu phần mềm và kỹ năng khác để quản lý hệ thống DBMS.
- Bạn muốn lưu trữ dữ liệu đơn giản như nhật ký máy chủ để truy xuất và phân tích sau này
- Bạn muốn lưu trữ cài đặt chương trình tức là chương trình.ini
Tệp PHP () Hàm
PHP cung cấp một cách thuận tiện để làm việc với các tệp thông qua bộ sưu tập các hàm dựng sẵn phong phú.
Operahệ thống ting như Windows và MAC OS không phân biệt chữ hoa chữ thường trong khi Linux or Unix hệ điều hành có 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ỉ viết chữ thường để đặ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.
Hàm file_exists() trong PHP
Hàm 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 liệu một tệp 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); ?>
ĐÂY,
- “file_exists()” là hàm PHP trả về true nếu tệp tồn tại và false nếu nó không tồn tại.
- “$file_name” là đường dẫn và tên file cần kiểm tra
Đoạn mã bên dưới sử dụng hàm file_exists để xác định xem tệp my_settings.txt có tồn tại hay không.
<?php if (file_exists('my_settings.txt')) { echo 'file found!'; } else { echo 'my_settings.txt does not exist'; } ?>
Lưu đoạn mã trên vào một tệp có tên file_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ả sau.
Hàm fopen() của PHP
Hàm fopen được sử dụng để mở tệp. Nó có cú pháp sau
<?php fopen($file_name,$mode,$use_include_path,$context); ?>
ĐÂY,
- “fopen” là hàm mở tệp PHP
- “$file_name” là tên file cần mở
- “$mode” là chế độ mà tập tin sẽ được mở, bảng bên dưới hiển thị các chế độ
Chế độ | Mô tả |
---|---|
r |
• Đọc tập tin từ đầu. • Trả về false nếu file không tồn tại. • Chỉ đọc |
r+ |
• Đọc tập tin từ đầu • Trả về false nếu file không tồn tại. • Đọc và viết |
w |
• Ghi vào tập tin lúc đầu • cắt ngắn tập tin về độ dài bằng 0 • Nếu tập tin không tồn tại, hãy thử tạo nó. • Chỉ viết |
w+ |
• Ghi vào tập tin ngay từ đầu, cắt ngắn tập tin về độ dài bằng 0 • Nếu tập tin không tồn tại, hãy thử tạo nó. • Đọc và viết |
a |
• Nối vào tập tin ở cuối • Nếu tập tin không tồn tại, hãy thử tạo nó. • Chỉ viết |
a+ |
• Php thêm vào tập tin ở cuối • Nếu tập tin 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à sai, nếu được đặt thành true, hàm cũng sẽ 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 fwrite() của PHP
Hàm fwrite được sử dụng để ghi tập tin.
Nó có cú pháp sau
<?php fwrite($handle, $string, $length); ?>
ĐÂY,
- “fwrite” là hàm PHP để ghi vào tập tin
- “$handle” là tài nguyên con trỏ tệp
- “$string” là dữ liệu được ghi vào file.
- “$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() được sử dụng để đóng một tệp trong php đã mở
Cú pháp của nó như sau.
<?php fclose($handle); ?>
ĐÂY,
- “fclose” là Hàm PHP để đóng một tập tin đang mở
- “$handle” là tài nguyên con trỏ tệp.
Bây giờ chúng ta hãy xem một ví dụ tạo my_settings.txt.
Chúng ta sẽ sử dụng các hàm sau.
- Fopen
- Fwrite
- fđóng
Đoạn mã bên dưới “create_my_settings_file.php” triển khai ví dụ trên.
Mở tệp tin |
<?php $fh = fopen("my_settings.txt", 'w') or die("Failed to create file"); ?> |
Đóng tệp |
<?php fclose($fh); ?> |
Tạo tập tin |
<?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ở URL http://localhost/phptuts/create_my_settings.php trong trình duyệt của bạn.
Bạn sẽ nhận được trang sau
Lưu ý: 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 fgets() của PHP
Hàm fgets được sử dụng để đọc các tệp php theo từng dòng. Nó có cú pháp cơ bản sau. fgets($handle); HERE,
- “$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ờ chúng ta hãy xem một ví dụ đọc tệp my_settings.txt bằng hàm fopen và fgets.
Mã bên dưới read_my_settings.php triển khai 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); ?>
ĐÂ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() trong PHP
Hàm sao chép PHP được sử dụng để sao chép các tệp. Nó có cú pháp cơ bản sau. copy($file,$copied_file); HERE,
- “$file” chỉ định đường dẫn tệp và tên của tệp sẽ được sao chép.
- “copy_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 tin. Mã dưới đây minh họa việc thực hiện.
<?php if (!unlink('my_settings_backup.txt')) { echo "Could not delete file"; } else { echo "File 'my_settings_backup.txt' successfully deleted"; } ?>
Hàm file_get_contents() trong PHP
Hàm file_get_contents được sử dụng để đọc toàn bộ nội dung file.
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ừng dòng tệp.
<?php echo "<pre>"; // Enables display of line feeds echo file_get_contents("my_settings.txt"); echo "</pre>"; // Terminates pre tag ?>
Tổng kết
- Tệp là tài nguyên để lưu trữ dữ liệu
- PHP có một bộ sưu tập phong phú các hàm dựng sẵn giúp đơn giản hóa việc làm việc với các tệp.
- Các hàm tệp phổ biến bao gồm fopen, fclose, file_get_contents
- Bảng dưới đây trình bày tóm tắt các chức năng được đề cập
Chức năng | Mô tả |
---|---|
File tồn tại | Được sử dụng để xác định xem một tập tin có tồn tại hay không |
mở | Được sử dụng để mở một tập tin. Trả về con trỏ tới file đã mở |
fwrite | Dùng để ghi vào tập tin |
fđóng | Dùng để mở file đã đóng |
đồ ăn vặt | Được sử dụng để đọc từng dòng tệp |
bản sao | Dùng để sao chép một tập tin hiện có |
bỏ liên kết | Dùng để xóa một tập tin hiện có |
file_get_contents | Được sử dụng để trả về nội dung của tệp dưới dạng chuỗi |