Hướng dẫn dùng require php trong PHP

Warning: include[header.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1

Warning: include[]: Failed opening 'header.php' for inclusion [include_path='.;C:\xampp\php\PEAR'] in C:\xampp\htdocs\example\index.php on line 1

Content

Ta thấy trình duyệt gửi cảnh báo, tuy nhiên những PHP vẫn thực thi những đoạn code bên dưới.

require

  • Được dùng để chèn một file PHP vào một file PHP khác, file được chèn bắt buộc phải tồn tại, nếu không sẽ không thực thi những đoạn code tiếp theo.
  • Thường được dùng để chèn nội dung kết nối database, function login, payment, ...
  • Cách sử dụng tương tự như
    Content
    5.

Cấu trúc

Ví dụ:

Content

Nội dung 2 file header.phpfooter.php đã được thêm vào.

Download file ví dụ

require với file không tồn tại

  // Giả sử file header.php không có
Content

Warning: require[header.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1

Fatal error: require[]: Failed opening required 'header.php' [include_path='.;C:\xampp\php\PEAR'] in C:\xampp\htdocs\example\index.php on line 1

Ta thấy trình duyệt gửi cảnh báo, và những đoạn code bên dưới đã không được thực thi.

PHP include và require với path

Lưu ý: nếu chưa được cấu hình đường dẫn tương đối [relative path] thì dễ xảy ra lỗi khi dùng
/đường_dẫn_file/tên_file [trong trường hợp phân cấp thư mục], khắc phục tình trạng này có 2 cách:

Sử dụng đường dẫn tuyệt đối

Sử dụng cách này cần kích hoạt

  // Giả sử file header.php không có
Content
8 và
  // Giả sử file header.php không có
Content
9 sang
0 trong php.ini

Content

Download file ví dụ

Sử dụng DOCUMENT_ROOT

Content

Download file ví dụ

Câu lệnh include và require trong PHP được sử dụng để chèn nội dung của file php này vào file php khác.

Việc chèn nội dung file là rất hữu ích khi bạn muốn chèn các dòng code php, html giống nhau vào nhiều trang khác nhau.

Câu lệnh include và require là giống nhau, trừ trường hợp bị lỗi:

  • require: sẽ tạo ra lỗi nghiêm trọng [E_COMPILE_ERROR] và dừng tập lệnh.
  • include: sẽ chỉ tạo cảnh báo [E_WARNING] và tập lệnh sẽ tiếp tục.

Vì vậy, nếu bạn muốn chương trình tiếp tục được thực thi và hiển thị đến người dùng, ngay cả khi file được chèn vào bị thiếu, hãy sử dụng câu lệnh include. Nếu không, trong trường hợp FrameWork, CMS hoặc ứng dụng PHP phức tạp, hãy luôn sử dụng câu lệnh require để chèn một file là bắt buộc tới luồng thực thi. Điều này sẽ giúp tránh ảnh hưởng đến tính bảo mật và tính toàn vẹn của ứng dụng.

Include các file tiết kiệm rất nhiều công sức. Điều này có nghĩa là bạn có thể tạo file header.php, footer.php hoặc menu.php cho tất cả các trang web của mình. Sau đó, khi cần cập nhật phần tiêu để của trang, bạn chỉ cần cập nhật file header.php.

Cú pháp

include 'filename';

hoặc

require 'filename';

Ví dụ 1 Giả sử chúng ta có một tệp chân trang tiêu chuẩn được gọi là "footer.php", trông giống như sau: Sử dụng câu lệnh include để chèn chân trang vào trang page1.php:

Welcome to VietTuts.Vn!

Some text.

Some more text.

Kết quả:

Ví dụ 2

Giả sử chúng ta có một tệp menu chuẩn được gọi là "menu.php":

Sử dụng câu lệnh include để chèn menu và footer vào trang page2.php:

Content
0

Kết quả:


Ví dụ 3

Giả sử chúng ta có một "cars.php", với một số biến được định nghĩa:

Content
1

Sử dụng câu lệnh include để chèn file trên vào trang page3.php:

Content
2

Kết quả:

Include vs Require

Câu lệnh require cũng được sử dụng để bao gồm một file vào mã PHP.

Tuy nhiên, có một sự khác biệt lớn giữa include và require, khi một file được chèn bằng lệnh include và PHP không thể tìm thấy nó, tập lệnh sẽ tiếp tục thực thi:

Content
3

Kết quả:

Nếu chúng ta làm ví dụ tương tự bằng cách sử dụng lệnh require, câu lệnh echo sẽ không được thực thi vì việc thực thi tập lệnh chết sau khi lệnh require trả về một lỗi nghiêm trọng:

Chủ Đề