Hướng dẫn php file handling - xử lý tệp php



Phần này hướng dẫn bạn xử lý file trong PHP, PHP cho phép chúng ta tạo file, đọc từng dòng của file, đọc file theo ký tự, ghi file, nối thêm nội dung vào file, xóa file và đóng file.


Nội dung chính

  • Mở file - hàm PHP fopen()
  • Đóng file - hàm PHP fclose()
  • Đọc file - hàm PHP fcfreadlose()
  • Ghi file - hàm PHP fwrite()
  • Xóa file - hàm PHP unlink()

Mở file - hàm PHP fopen()

Hàm PHP fopen() được sử dụng để mở một file.

Cú pháp:

fopen (string $filename , string $mode [, bool $use_include_path = false [, resource $context ]])

Ví dụ:



Đóng file - hàm PHP fclose()

Hàm PHP fclose() được sử dụng để đóng một file.

Cú pháp:

Ví dụ:


Đóng file - hàm PHP fclose()

Hàm PHP fclose() được sử dụng để đóng một file.

Cú pháp:

string fread(resource $handle, int $length )

Ví dụ:

    

Đóng file - hàm PHP fclose()



Hàm PHP fclose() được sử dụng để đóng một file.

Đọc file - hàm PHP fcfreadlose()

Cú pháp:

int fwrite(resource $handle , string $string [, int $length ])

Ví dụ:

  

Đóng file - hàm PHP fclose()

File được ghi thành công.


Hàm PHP fclose() được sử dụng để đóng một file.

Đọc file - hàm PHP fcfreadlose()

Cú pháp:

bool unlink ( string $filename [, resource $context ])

Ví dụ:

Đóng file - hàm PHP fclose()

0




• file – file cần đọc.


• filesize – Số byte tối đa cần đọc.

Ví dụ:

Đoạn code sau cho đọc file read.txt đến cuối:

4. Đóng file với PHP

Hàm PHP fclose($file); được sử dụng để đóng một file.


5. Ghi file với PHP

Để ghi dữ liệu vào file, chúng ta sẽ dùng hàm fwrite( $file, $content ).

$file là đối tượng trả về lúc mở file.

$content là nội dung muốn ghi vào.
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

Việc ghi file phụ thuộc vào lúc mở file như thế nào. Ví dụ lúc mở file ghi đè thì lúc ghi file nó sẽ ghi đè, lúc mở file ghi kiểu append thì lúc ghi file nó sẽ thêm xuống cuối file, nếu mở file chỉ cho đọc thì bạn không thể ghi file được.

File handling is an important part of any web application. You often need to open and process a file for different tasks.

PHP Manipulating Files



PHP has several functions for creating, reading, uploading, and editing files.



Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file

  • r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối file
  • 2. Mở file với PHP
  • Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:
    • r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối file
    • Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:
    • r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file
  • r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file
  • Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối file

w: Write Only, Mở ra chỉ để ghi. Xóa toàn bộ nội dung trong file hoặc tạo file mới nếu file chưa tồn tại. Con trỏ bắt đầu từ đầu file. Nếu file không tồn tại sẽ tạo một file mớireadfile() có tác dụng mở một file và đọc nội dung của file đó. Một hàm tương tự khác cũng có tác dụng đọc nội dung file là file_get_contents(). Hàm readfile() sẽ đọc kết file được truyền vào và in kết quả đọc được ra màn hình.

w+: Write – Read, Mở file để đọc/ghi. Xóa toàn bộ nội dung trong file hoặc tạo file mới nếu file chưa tồn tại. Con trỏ bắt đầu từ đầu file. Nếu file không tồn tại sẽ tạo một file mới.

1

Trong đó:

  • a: append – chỉ ghi. Mở ra chỉ để ghi. Giữ lại nội dung file nếu có. Con trỏ bắt đầu ở cuối file. Tạo mới file nếu file chưa tồn tại. Nếu file tồn tại sẽ ghi tiếp vào phần dưới của nội dung. là đường dẫn tới file cần đọc.
  • a+: append – đọc và ghi. Nếu file tồn tại sẽ ghi tiếp vào phần dưới của nội dung, nếu file không tồn tại sẽ tạo file mới. là tham số quy định việc tìm kiếm file trong include_path.
  • b: Mở file dưới dạng file binary ( nhị phân ). thường được bỏ qua nếu bạn không sử dụng ngữ cảnh đặc biệt.

x: Tạo file mới để ghi. Trả về False hoặc lỗi nếu file đã tồn tại.

x+: Tạo ra file mới để đọc/ghi. Trả về FALSE hoặc lỗi nếu file đã tồn tại.

3. Đọc file với PHP

Trong PHP có 3 cách đọc file thông dụng đó là đọc từng dòng, đọc từng ký tự và đọc hết file.

3.1. Đọc file từng ký tự

PHP = Bộ tiền xử lý siêu văn bản PHP

SQL = Ngôn ngữ truy vấn có cấu trúc

SVG = Đồ họa Vectơ có thể mở rộng

XML = Ngôn ngữ đánh dấu có thể mở rộng

Và ta có:

1

Lưu ý

  • Ghi chú: readfile () sẽ không xuất hiện bất kỳ vấn đề bộ nhớ nào, ngay cả khi gửi các tệp lớn, của chính nó. Nếu bạn gặp phải lỗi hết bộ nhớ, hãy đảm bảo rằng bộ đệm đầu ra được tắt với ob_get_level ().readfile () sẽ không xuất hiện bất kỳ vấn đề bộ nhớ nào, ngay cả khi gửi các tệp lớn, của chính nó. Nếu bạn gặp phải lỗi hết bộ nhớ, hãy đảm bảo rằng bộ đệm đầu ra được tắt với ob_get_level ().
  • Một URL có thể được sử dụng làm tên tệp với chức năng này nếu fopen wrappers đã được bật. Xem fopen() để biết thêm chi tiết về cách chỉ định tên tệp. Xem Giao thức được Supported Protocols and Wrappers đến thông tin về những khả năng mà các trình bao bọc khác nhau có, ghi chú về việc sử dụng chúng và thông tin về bất kỳ biến xác định trước nào mà chúng có thể cung cấp.fopen() để biết thêm chi tiết về cách chỉ định tên tệp. Xem Giao thức được Supported Protocols and Wrappers đến thông tin về những khả năng mà các trình bao bọc khác nhau có, ghi chú về việc sử dụng chúng và thông tin về bất kỳ biến xác định trước nào mà chúng có thể cung cấp.

2. Mở file với PHP

Để mở một file ta dùng hàm fopen($path, $mode).fopen($path, $mode).

Trong đó:

  • path: đường dẫn file. đường dẫn file.
  • mode: chế độ mở file (mở để ghi, xem, sửa, tạo file mới …). chế độ mở file (mở để ghi, xem, sửa, tạo file mới …).

Ví dụ:

Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

  • r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file
  • r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối file
  • w: Write Only, Mở ra chỉ để ghi. Xóa toàn bộ nội dung trong file hoặc tạo file mới nếu file chưa tồn tại. Con trỏ bắt đầu từ đầu file. Nếu file không tồn tại sẽ tạo một file mới
  • w+: Write – Read, Mở file để đọc/ghi. Xóa toàn bộ nội dung trong file hoặc tạo file mới nếu file chưa tồn tại. Con trỏ bắt đầu từ đầu file. Nếu file không tồn tại sẽ tạo một file mới.
  • a: append – chỉ ghi. Mở ra chỉ để ghi. Giữ lại nội dung file nếu có. Con trỏ bắt đầu ở cuối file. Tạo mới file nếu file chưa tồn tại. Nếu file tồn tại sẽ ghi tiếp vào phần dưới của nội dung.
  • a+: append – đọc và ghi. Nếu file tồn tại sẽ ghi tiếp vào phần dưới của nội dung, nếu file không tồn tại sẽ tạo file mới.
  • b: Mở file dưới dạng file binary ( nhị phân ).
  • x: Tạo file mới để ghi. Trả về False hoặc lỗi nếu file đã tồn tại.
  • x+: Tạo ra file mới để đọc/ghi. Trả về FALSE hoặc lỗi nếu file đã tồn tại.

Ví dụ:

3

Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file

r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối file

w: Write Only, Mở ra chỉ để ghi. Xóa toàn bộ nội dung trong file hoặc tạo file mới nếu file chưa tồn tại. Con trỏ bắt đầu từ đầu file. Nếu file không tồn tại sẽ tạo một file mớifeof() để kiểm tra xem đã ở vị trí cuối cùng của file chưa và hàm fgec() để đọc từng ký tự của file.

Ví dụ:

4

Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu filefgets($fp) để đọc theo từng dòng.

Ví dụ:

5

Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:feof($fp) đặt trong vòng lặp while để sau khi đọc xong nó sẽ chuyển sang dòng mới hoặc ký tự mới.

r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file

r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối filefread($fp, $size).

Trong đó:

  • path: đường dẫn file. là đối tượng lúc mở file
  • mode: chế độ mở file (mở để ghi, xem, sửa, tạo file mới …). là kích cỡ của file cần đọc. Để lấy kích cỡ của file cần đọc ta dùng hàm filesize($path).

Ví dụ:fread() được sử dụng để đọc nội dung của một file. Nó chấp nhận 2 tham số: resource và kích thước file. Fread( $filename, $filesize);

Trong đó:

path: đường dẫn file.

mode: chế độ mở file (mở để ghi, xem, sửa, tạo file mới …).

Ví dụ:

Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

2

r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu file

r+: Read – Write. Mở file để đọc/ghi. Con trỏ nằm ở cuối filefclose($file); được sử dụng để đóng một file.

Ví dụ:

6

Thuộc tính bao gồm các quyền hạn cho phép thao tác trên file:

r: Read Only. Mở file chỉ để đọc. Con trỏ bắt đầu từ đầu filefwrite( $file, $content ).

Trong đó:

  • path: đường dẫn file. là đối tượng trả về lúc mở file.
  • mode: chế độ mở file (mở để ghi, xem, sửa, tạo file mới …). là nội dung muốn ghi vào.

Ví dụ:

Ví dụ:

7