Hướng dẫn dùng http header trong PHP

Trong bài này chúng ta tìm hiểu về hàm header, đây là một hàm được dùng khá nhiều trong lập trình web, ví dụ như dùng để chuyển hướng trang, dùng để khai báo định dạng file trả về từ Server, ...

Nội dung chính Show

  • 1. Header điều hướng trang
  • 2. Khắc phục lỗi font với hàm header
  • 3. Khai báo định dạng file
  • 4. Lời kết
  • 1, Cú Pháp.
  • 2, Điều hướng trang với Header.
  • 2, Chuyển đổi kiểu dữ liệu trả về với header.
  • Thay đổi kiểu chữ
  • Khai báo định dạng dữ liệu trả về
  • 4, Lời kết.

Hướng dẫn dùng http header trong PHP

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong tiếng anh thì có định nghĩa như sau: header() is used to send a raw HTTP header, khái niệm này bạn hãy tự dịch ra chứ mình cũng không biết dịch sao cho sát nghĩa nữa :3

Cú pháp của hàm header như sau:

Bài viết này được đăng tại [free tuts .net]

header ($string, $replace = true, $http_response_code = null) {}

Trong đó:

  • $string: Chuỗi khai báo cho kết quả trả về từ Server, chuỗi này đóng vai trò quan trọng nhất vì nội dung của nó sẽ quyết định header sẽ làm gì.
  • $replace: Tham số này mặc định là true, nghĩa là định dạng của chuỗi $string sẽ được replace chứ không phải khai báo mới (trường hợp khai báo nhiều header).
  • $http_response_code: Mã code trả về từ Server. VD 404 là not found 301 là chuyển hướng có chủ đích

Lưu ý: Cũng như Session trong PHP, bạn phải chắc chắn rằng ở phía trên đoạn code sử dụng header không được xuất ra bất kì một ký tự nào, vì vậy thông thường chúng ta đặt header ở phía trên cùng của file, nơi mà chưa có những đoạn mã HTML.

Và bây giờ chúng ta tìm hiểu một số công dụng của hàm header nhé.

1. Header điều hướng trang

Bạn có thể sử dụng thẻ header để điều hướng, chuyển hướng trang với cú pháp như sau:

header('Location: http://www.domain.net/');

Ví dụ: Chuyển hướng tới trang freetuts.net

header('Location: http://www.freetuts.net/');

Khi chuyển hướng trang với hàm header bạn nên khai báo thêm response_code sẽ tốt hơn rất nhiều cho SEO. Chẳng hạn như bạn thay đổi domain cho website thì khi người dùng vào domain cũ bạn sẽ chuyển hướng nó sang domain mới, lúc này bạn nên sử dụng code là 301 vì đây là code khai báo chuyển hướng có điều kiện.

header('Location: http://www.domain.net/', true, 301);

Còn trường hợp bạn muốn chuyển hướng page not found thì hãy sử dụng mã code 404.

header('Location: http://www.domain.net/', true, 404);

2. Khắc phục lỗi font với hàm header

Bạn có thể sử dụng hàm header để khắc phục tình trạng lỗi font khi trả kết quả về không có định dạng thẻ meta utf8 bằng cách đặt đoạn code sau ở đầu file.

header('Content-Type: text/html; charset=utf-8');

3. Khai báo định dạng file

Để khai báo định dạng file thì ta sử dụng cú pháp sau:

header("Content-type: text/javascript");

Bạn có thể thay đổi text/javascript thành text/css để khai báo đây là file CSS.

Nếu bạn muốn khi người dùng vào file đó thì sẽ download thay vì hiển thị thì hãy sử dụng thẻ header sau:

header("Content-type: application/force-download");
  header("Content-Disposition: attachment; filename=\"download.js\"");

Ngoài ra còn khá nhiều ví dụ và bạn có thể click vào link này để xem thêm.

4. Lời kết

Hàm header này tương đối đơn giản, cái khó chính là cấu trúc của chuỗi header phải khai báo chính xác nên bắt buộc ta phải nhớ cấu trúc của nó. Riêng cá nhân mình thì cũng ít khi nhớ lắm, khi nào cần thì lên Google tìm kiếm là ra ngay.

-Hôm nay chúng ta tiếp tục tìm hiểu về một hàm khá là quan trong trong PHP đó là hàm header, hàm này rất là hữu hiệu khi bạn muốn thay đổi kiểu dữ liệu trả về, hay điều hướng trang web,..

1, Cú Pháp.

-Hàm header trong PHP có cú pháp tổng quát như sau:

header ( string $string [, bool $replace = true [, int $http_response_code ]] )

Trong đó:

  • $string: Đây là biến quan trọng nhất và bắt buộc phải khai báo, biến này quyết định hành động mà server sẽ thực thi.
  • $replace: tham số này được đặt mặc định là true, Tham số này quyết định chuỗi $string được replace hay là khai báo mới trong trường hợp khai báo nhiều header
  • $http_responsecode: Đây là một trong các mã như : 301, 404,500,...

-Lưu ý: Để cho hàm hoạt động tốt thì các bạn nên đặt nó ở phía trên cùng của website

2, Điều hướng trang với Header.

-Để điều hướng trang web với hàm header trong PHP các bạn sử dụng cú pháp:

header('location:' . $url);

Trong đó: location là từ khóa bắt buộc để khai báo chuyển trang, $url là địa chỉ mà bạn muốn chuyển hướng tới.

VD:

header('location: http://toidicode.com');

2, Chuyển đổi kiểu dữ liệu trả về với header.

Thay đổi kiểu chữ

-Chẳng hạn như bạn muốn thay đổi kiểu font chữ hiển thị mà không cần dùng meta trong HTML thì với header() bạn chỉ cần khai báo như sau:

header('Content-Type: text/html; charset=utf-8');

Khai báo định dạng dữ liệu trả về

-Định dạng trả về kiểu image png:

header("Content-type: image/png");

-Định dạng trả về kiểu json:

header("Content-type: application/json");

Xem thêm

-Các bạn có thể xem thêm các header tại đây

4, Lời kết.

-Qua phần này mình đã giới thiệu với mọi người về hàm header trong PHP rồi, các bạn lưu ý khai báo chuẩn xác cho mình định dạng dữ liệu trả về nhé!

Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Bài Viết Mới