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 file_exists() trong PHP

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

Hàm fclose của PHP

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