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. Show
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:
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ápinclude '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: <?php echo "<p>Copyright © 2016-" . date("Y") . " VietTuts.Vn</p>"; ?> Sử dụng câu lệnh include để chèn chân trang vào trang page1.php: <html> <body> <h2>Welcome to VietTuts.Vn!</h2> <p>Some text.</p> <p>Some more text.</p> <?php include 'footer.php';?> </body> </html> Kết quả:Ví dụ 2Giả sử chúng ta có một tệp menu chuẩn được gọi là "menu.php": <?php echo '<a href="">Home</a> - <a href="/html">HTML</a> - <a href="/css">CSS</a> - <a href="/javascript">JavaScript</a> - <a href="/php">PHP</a>'; ?> Sử dụng câu lệnh include để chèn menu và footer vào trang page2.php: <html> <body> <?php include 'menu.php';?> <h2>Welcome to VietTuts.Vn!</h2> <p>Some text.</p> <p>Some more text.</p> <?php include 'footer.php';?> </body> </html> Kết quả: Ví dụ 3Giả sử chúng ta có một "cars.php", với một số biến được định nghĩa: <?php $color='đỏ'; $car='BMW'; ?> Sử dụng câu lệnh include để chèn file trên vào trang page3.php: <html> <body> <h2>Welcome to VietTuts.Vn!</h2> <?php include 'cars.php'; echo "Xe $car có màu $color."; ?> </body> </html> Kết quả: Include vs RequireCâ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: <html> <body> <h2>Welcome to VietTuts.Vn!</h2> <?php include 'file_khong_ton_tai.php'; echo "Xe $car có màu $color."; ?> </body> </html> 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: <html> <body> <h2>Welcome to VietTuts.Vn!</h2> <?php require 'file_khong_ton_tai.php'; echo "Xe $car có màu $color."; ?> </body> </html> Kết quả:
Định nghĩa và cách dùng include và require
include
Cấu trúc<?php
include "đường_dẫn_file/tên_file";
?> Ví dụ:<?php include "include/header.php"; ?> <div>Content</div> <?php include "include/footer.php"; ?> Ta thấy nội dung 2 file header.php và footer.php đã được thêm vào. Download file ví dụ include với file không tồn tại<?php include "include/header.php"; ?> // Giả sử file header.php không có
<div>Content</div>
<?php include "include/footer.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ấu trúc<?php
require "đường_dẫn_file/tên_file";
?> Ví dụ:<?php require "require/header.php"; ?> <div>Content</div> <?php require "require/footer.php"; ?> Nội dung 2 file header.php và footer.php đã được thêm vào. Download file ví dụ require với file không tồn tại<?php require "require/header.php"; ?> // Giả sử file header.php không có
<div>Content</div>
<?php require "require/footer.php"; ?> 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 pathLư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 Sử dụng đường dẫn tuyệt đốiSử dụng cách này cần kích hoạt <?php include "http://localhost/include/header.php"; ?> <div>Content</div> <?php include "http://localhost/include/footer.php"; ?> Download file ví dụ Sử dụng DOCUMENT_ROOT<?php include $_SERVER["DOCUMENT_ROOT"] . "/include/header.php"; ?> <div>Content</div> <?php include $_SERVER["DOCUMENT_ROOT"] . "/include/footer.php"; ?> Download file ví dụ |