Hướng dẫn php include - php bao gồm

  • Trang chủ
  • Hướng dẫn học
  • Học PHP
  • PHP include và require

Định nghĩa và cách dùng include và require

  • Content
    6 hoặc
    Content
    7 tiện lợi cho việc sử dụng những phần dùng chung, ví dụ header, footer, sidebar hoặc một function dùng chung nào đó.
  • Đối với những phần dùng chung này, ta tách riêng ra 1 file PHP, sau đó sử dụng
    Content
    6 hoặc
    Content
    7 để kết nối.
  • Điều này tiện lợi cho việc chỉnh sửa, thay vì chỉnh nhiều trang, giờ thì ta chỉ việc chỉnh file PHP đã tách riêng là được.
  • Sự khác biệt giữa

    Content
    6 và
    Content
    7:

    • Content
      6: code bên dưới
      Content
      6 sẽ tiếp tục thực thi, cho dù file được
      Content
      6 có tồn tại hay không.tiếp tục thực thi, cho dù file được
      Content
      6 có tồn tại hay không.
    • Content
      7: code bên dưới
      Content
      7 sẽ không được thực thi, nếu file được
      Content
      7 không tồn tại.không được thực thi, nếu file được
      Content
      7 không tồn tại.

include

  • Được dùng để chèn một file PHP vào một file PHP khác.

Cấu trúc

đường_dẫn_file/tên_file";
?>

Ví dụ:

Content

Ta thấy nội dung 2 file header.php và footer.php đã được thêm vào.header.phpfooter.php đã được thêm vào.

Download file ví dụ

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

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

Warning: include(header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1: 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: 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
    6.

Cấu trúc

đường_dẫn_file/tên_file";
?>

Ví dụ:

Ta thấy nội dung 2 file header.php và footer.php đã được thêm vào.

Download file ví dụheader.phpfooter.php đã được thêm vào.

Download file ví dụ

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

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

Warning: include(header.php): failed to open stream: No such file or directory in C:\xampp\htdocs\example\index.php on line 1: require(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: require(): Failed opening required 'header.php' (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
/đườ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:

Đượ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, ...

Content

Download file ví dụ

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

Content

Download file ví dụ

  • Hàm include
  • Hàm include_once
  • Hàm require và require_once

Trong PHP các đoạn code khác nhau bạn có thể bố trí ở nhiều file mã nguồn (thường có phần mở rộng .php) khác nhau, rồi khi một file script php chạy nó có thể nạp và chạy code bạn viết ở các file khác nhau. Bạn có thể dùng hàm (lệnh) include, require và include_once, require_once để thực hiện nạp và chạy file. Điều này giúp bạn có thể xây dựng các thư viện chức năng, tổ chức code nhiều file theo logic nào đó, để dễ bảo trì và mở rộng. include, requireinclude_once, require_once để thực hiện nạp và chạy file. Điều này giúp bạn có thể xây dựng các thư viện chức năng, tổ chức code nhiều file theo logic nào đó, để dễ bảo trì và mở rộng.

Lệnh

Content
6 đọc nội dung của file, thi hành nó. Cú pháp:

include 'ten-file-php.php'

Giả sử bạn tạo một menu chung cho các trang. Thì bạn có thể tạo file

đường_dẫn_file/tên_file";
?>
3 với nội dung như sau:

Home -   
Lập trình PHP -  
HTML -   
Liên hệ 

Với file

đường_dẫn_file/tên_file";
?>
3 này bạn có thể gộp nó vào các file khác, ví dụ bạn tạo file
đường_dẫn_file/tên_file";
?>
5:

Content
0

Khi thực hiện include thì phạm vi (khu vực hiệu lực của biến, các biến có hiệu lực tại dòng include thì cũng hiệu lực trong file ngoài), đối với các khai báo hàm, class khai báo trong file ngoài thì có phạm vi toàn cục.include thì phạm vi (khu vực hiệu lực của biến, các biến có hiệu lực tại dòng include thì cũng hiệu lực trong file ngoài), đối với các khai báo hàm, class khai báo trong file ngoài thì có phạm vi toàn cục.

Trong file ngoài có nếu có mệnh đề return thì nó trả về tại đó, có thể có giá trị trả về (code sau return không thực thi)return thì nó trả về tại đó, có thể có giá trị trả về (code sau return không thực thi)

mgs.php

Content
1

file1.php

Content
2

Một file ngoài đơn thuần tính toán xuất kết quả trả về có thể include nhiều lần, nhưng nếu file đó có định nghĩa function, class ... thì nếu include lại thì là định nghĩa lại - sẽ không được phép, phát sinh lỗi.

Chạy file1.php kết quả in ra:

Content
3

Hàm include_once trong PHP

Hàm include_once chức năng giống hệt include, điều khác duy nhất nếu một file đã từng được nạp vào thì include_once lần 2, 3 sẽ không làm gì (không nạp lại).include_once chức năng giống hệt include, điều khác duy nhất nếu một file đã từng được nạp vào thì include_once lần 2, 3 sẽ không làm gì (không nạp lại).

tinhtoan.php

Content
4

file2.php

Content
5

Nếu trong file2.php bạn sử dụng include thì sẽ dẫn tới lỗi, vì tinhtoan.php có định nghĩa hàm, nếu include lại thì định nghĩa lại hàm, không được phép.include thì sẽ dẫn tới lỗi, vì tinhtoan.php có định nghĩa hàm, nếu include lại thì định nghĩa lại hàm, không được phép.

Hàm require và require_once

Chức năng hàm require thì giống hệt include, còn require_once giống include_once. Điều khác là nếu file không tồn tại thì include/include_once phát lỗi Warning, script có thể vẫn chạy tiếp, còn với require/require_once sẽ phát lỗi Error, script sẽ dừng ngay lập tức.require thì giống hệt include, còn require_once giống include_once. Điều khác là nếu file không tồn tại thì include/include_once phát lỗi Warning, script có thể vẫn chạy tiếp, còn với require/require_once sẽ phát lỗi Error, script sẽ dừng ngay lập tức.