Hướng dẫn dùng file create trong PHP

Trong bài này, chúng ta sẽ tìm hiểu về cách create và write file trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

1. Tạo file với hàm fopen[] trong PHP

Hàm fopen[] giúp mở một file và đưa file đó vào stream để chuẩn bị đọc/ghi dữ liệu. Cú pháp:

fopen[
  string $filename,
  string $mode,
  bool $use_include_path = false,
  ?resource $context = null
]: resource|false

Với các $mode‘w’, ‘w+’, ‘a’, ‘a+’, ‘x’, ‘x+’ thì hàm fopen[] giúp tạo một file mới khi file chưa tồn tại. Các bạn có thể tìm hiểu kỹ hơn cách sử dụng hàm fopen[] tại Mở file với hàm fopen[] trong PHP.

2. Ghi file với hàm fwrite[] trong PHP

Hàm fwrite[] được sử dụng để ghi dữ liệu vào file khi đã mở file với hàm fopen[]. Cú pháp:

fwrite[resource $stream, string $data, ?int $length = null]: int|false

Trong đó,

$stream là stream đọc file được mở bởi hàm fopen[].

$data là chuỗi [string] dữ liệu được ghi vào file.

$length là số byte muốn ghi vào file.

Kết quả trả về của hàm fwrite[] là số byte ghi được hoặc false nếu ghi file bị lỗi.

Khi mở file bằng hàm fopen[] với chế độ “w” thì dữ liệu ghi vào file sẽ ghi đè [overwriting] lên dữ liệu cũ nếu file đã tồn tại. Nếu sử dụng chế độ “a” thì dữ liệu ghi vào file sẽ được ghi nối tiếp vào file.

3. Tạo và ghi file với hàm file_put_contents[] trong PHP

Hàm file_put_contents[] giúp ghi dữ liệu vào file. Nếu file không tồn tại thì file mới sẽ được tạo. Nếu file tồn tại thì dữ liệu trong file sẽ bị sẽ bị ghi đè. Nếu muốn ghi nối tiếp vào file thì sử dụng $flag = FILE_APPEND.

Hàm này có chức năng giống với việc gọi hàm fopen[], fwrite[]fclose[] liên tiếp để ghi dữ liệu vào một file. Cú pháp:

file_put_contents[
    string $filename,
    mixed $data,
    int $flags = 0,
    ?resource $context = null
]: int|false

Trong đó,

$filename là đường dẫn của file cần ghi dữ liệu.

$data là dữ liệu cần ghi vào file. $data có thể là string, array hoặc stream resource.

$flag là các cờ thể hiện chế độ ghi dữ liệu của hàm file_put_contents[]. Có thể kết hợp các flag với nhau bằng toán tử OR [ | ].

Flag Mô tả
FILE_USE_INCLUDE_PATH Có thể tìm file trong include_path.
FILE_APPEND Nếu file đã tồn tại, nối tiếp dữ liệu vào file thay vì phải ghi đè file.
LOCK_EX Khóa file nếu đang ghi dữ liệu.

$context là resource được tạo bởi hàm stream_context_create[].

Kết quả trả về của hàm file_put_contents[] là số byte được ghi vào file hoặc false nếu ghi file bị lỗi.

Ví dụ ghi đè dữ liệu vào file gochocit.txt


Ví dụ nối dữ liệu vào file gochocit.txt


Trong ví dụ trên, $flagFILE_APPEND | LOCK_EX. $flag này có nghĩa là nối dữ liệu vào file gochocit.txt và khóa file trong khi ghi dữ liệu.

  • Hàm thuần ảo [pure virtual function] và lớp trừu tượng [abstract class] trong C++
  • Java collections framework: lớp Vector và lớp Stack
  • Tính đóng gói [encapsulation] và đa hình [polymorphism] trong Python
  • Đọc [read] file JSON với Python
  • Ngôn ngữ C++ là gì? Tìm hiểu ngôn ngữ lập trình C++

Chủ Đề