PHP headers_sent()

Hàm headers_sent() trong PHP

Hàm headers_sent() trong PHP được sử dụng để kiểm tra xem liệu các tiêu đề HTTP đã được gửi đến trình duyệt hay chưa. Điều này rất quan trọng trong lập trình web, vì một khi tiêu đề đã được gửi, bạn không thể thay đổi hoặc thêm tiêu đề nữa, trừ khi bạn sử dụng một số cách đặc biệt như xuất lại nội dung từ đầu.

Câu trúc của hàm

headers_sent(&$file, &$line)

Hàm headers_sent() có thể nhận hai tham số tùy chọn:

  1. $file: Nó sẽ chứa tên tệp mà tại đó tiêu đề được gửi.
  2. $line: Nó sẽ chứa số dòng mà tại đó tiêu đề được gửi.

Giá trị trả về

Hàm sẽ trả về true nếu tiêu đề đã được gửi, ngược lại nó trả về false.

Ví dụ sử dụng

if (headers_sent($file, $line)) {
    echo "Hệ thống đã gửi tiêu đề tại $file:$line";
} else {
    header("Location: http://example.com");
    exit();
}

Ứng dụng thực tế

Hàm headers_sent() thường được sử dụng để kiểm tra liệu bạn có thể thêm hoặc thay đổi tiêu đề trước khi gửi đến người dùng. Thông thường, bạn nên gọi hàm này trước khi gửi nội dung ra màn hình hoặc bất kỳ thẻ HTML nào.

Lưu ý

Để tránh lỗi liên quan đến việc gửi tiêu đề, bạn nên luôn chắc chắn rằng không có bất kỳ đầu ra nào trước khi bạn gọi hàm header(). Điều này bao gồm cả không có khoảng trắng, không có ký tự mới ở đầu tệp PHP hoặc sau thẻ PHP kết thúc.