Liên hệ
php cơ bản

Làm việc với file trong PHP

Đọc và ghi file trong PHP với các hàm fopen, fwrite, fread, file_get_contents, file_put_contents

Trình bày thao tác với file với một số hàm: fopen() fwrite() fclose() file() file_get_contents() file_put_contents()

Tạo file, mở file với fopen

PHP đưa ra một số hàm với mục đích để làm việc với file như tạo file, đọc file, upload, biên tập ...

fopen() là hàm dùng để tạo file mới nếu file đó chưa có tồn tại trong hệ thống. Nếu file đã có trong hệ thống thì hàm. Cú pháp để mở file, tạo file cơ bản như sau:

    $myfile = fopen($filename, $mode);

$filename tên file với đường dẫn đầy đủ.
$mode chế độ mở file với một số giá trị như sau:

  • r: Mở file chỉ để đọc.
  • w: Mở file chỉ để ghi. Xóa đi nội dung cũ hoặc tạo ra file mới nếu file không tồn tại.
  • a: Mở file chỉ để ghi.
  • x: Tạo file mới chỉ để ghi.
  • r+: Mở file để đọc và ghi.
  • w+: Mở file để đọc và ghi. Xóa đi nội dung cũ hoặc tạo ra file mới nếu file không tồn tại.
  • a+: Mở file để đọc và ghi. Tạo ra file mới nếu file không tồn tại.
  • x+: Tạo file mới để đọc và ghi.

Ví dụ sau tạo ra file file.txt, file tạo ra ở cùng với thư mục chứa code PHP.

    $myfile = fopen("file.txt", "w");

Ghi file với fwrite()

Sau khi file đã được tạo, được mở thì bạn có thể ghi nội dung cần thiết vào file, để làm điều đó dùng hàm fwrite()

    fwrite($myfile, $txt);

    //$myfile: là file đã được mở để ghi
    //$text: là chuỗi cần ghi vào file.

Ví dụ sau ghi lại tên hai người vào file names.txt

<?php
    $myfile = fopen("names.txt", "w");
    
    $txt = "John\n";
    fwrite($myfile, $txt);
    $txt = "David\n";
    fwrite($myfile, $txt);
    
    fclose($myfile);
    
    /* Nộ dung file:
    John
    David
    */
?>

Chú ý trước khi gọi hàm fwrite() cần phải gọi hàm fopen() và cuối cùng sau khi ghi xong các nội dung vào file thì cần gọi fclose() để đóng file thu hồi tài nguyên hệ thống.

Dùng ký hiệu \n để ghi dòng mới (xuống dòng).

Ghi thêm nội dung vào file

Nếu muốn nối thêm nội dung vào file, bạn cần mở file với chế độ nối file 'a', Ví dụ:

<?php
    $myFile = "test.txt";
    $fh = fopen($myFile, 'a');
    fwrite($fh, "Some text");
    fclose($fh);
?>

Khi mở file bằng chế độ 'a' con trỏ file sẽ trỏ đến cuối file, đảm bảo rằng nội dung ghi sẽ nối vào file

Đọc file

Hàm file() đọc nội dung của file và đưa vào một mảng. Mỗi phần tử của mảng tương ứng với một dòng của file.

<?php
    $read = file('names.txt');
    foreach ($read as $line) {
    echo $line .", ";
    }

?>

Một số hàm về file

  • unlink($filename) hàm xóa file.
  • copy($source, $dest) copy file từ $source đến $dest.
  • rename($oldname, $newname) đổi tên hoặc di chuyển file
  • file_exists($filename) kiểm tra xem file có tồn tại (TRUE) hay không (FALSE).
  • $content = file_get_contents($filename) đọc toàn bộ nội dung file (chuỗi $content) (thay cho việc phải sử dụng fopen, fwrite, fclose).
  • file_put_contents($filename) ghi toàn bộ một chuỗi ra file (thay cho việc phải sử dụng fopen, fread, fclose).

Vui lòng đăng ký ủng hộ kênh