Tệp Include trong PHP

Bao gồm máy chủ (SSI) được sử dụng để tạo các hàm, tiêu đề, chân trang hoặc các phần tử có thể được lặp lại trên nhiều trang.

Câu lệnh include (hoặc require) sẽ lấy tất cả các văn bản/mã/các thẻ có trong tệp đã chỉ định và sao chép vào tệp sử dụng câu lệnh include.

Việc包含 tệp rất hữu ích nếu bạn cần trích dẫn PHP, HTML hoặc văn bản tương tự trên nhiều trang web khác nhau của bạn.

Câu lệnh include và require trong PHP

Bằng cách sử dụng câu lệnh include hoặc require, bạn có thể chèn nội dung của tệp PHP vào một tệp PHP khác (trước khi nó được thực thi trên máy chủ).

Câu lệnh include và require là giống nhau, trừ phần xử lý lỗi:

  • require sẽ tạo ra lỗi nghiêm trọng (E_COMPILE_ERROR) và dừng kịch bản
  • include chỉ tạo ra cảnh báo (E_WARNING) và kịch bản sẽ tiếp tục

Do đó, nếu bạn muốn tiếp tục thực hiện và xuất kết quả cho người dùng, ngay cả khi tệp bao gồm đã bị mất, hãy sử dụng include. Ngược lại, trong việc lập trình khung, CMS hoặc các ứng dụng PHP phức tạp, hãy luôn sử dụng require để tham chiếu các tệp quan trọng vào luồng thực thi. Điều này giúp nâng cao tính an toàn và toàn vẹn của ứng dụng, trong trường hợp tệp quan trọng bị mất.

Việc bao gồm tệp đã tiết kiệm rất nhiều công việc. Điều này có nghĩa là bạn có thể tạo các tệp tiêu chuẩn về tiêu đề, chân trang hoặc menu cho tất cả các trang. Sau đó, khi cần cập nhật tiêu đề, bạn chỉ cần cập nhật tệp bao gồm tiêu đề này.

Ngữ pháp

include 'filename';

hoặc

require 'filename';

PHP include ví dụ

Ví dụ 1

Giả sử chúng ta có một tệp tiêu chuẩn chân trang có tên là "footer.php", như sau:

<?php
echo "<p>© Cơ bản 2006-" . date("Y") . " codew3c.com</p>";
?>

Nếu bạn muốn trích dẫn tệp chân trang này trong một trang, hãy sử dụng câu lệnh include:

<html>
<body>
<h1>Chào mừng bạn đến với trang chủ của chúng tôi!</h1>
<p>Một đoạn văn bản.</p>
<p>Một đoạn văn bản.</p>
<?php include 'footer.php';?>
</body>
</html>

Ví dụ chạy

Ví dụ 2

Giả sử chúng ta có một tệp tiêu chuẩn menu có tên là "menu.php":

<?php
echo '<a href="/index.asp">Trang chủ</a> -
<a href="/html/index.asp">HTML Hướng dẫn</a> -
<a href="/css/index.asp">CSS Hướng dẫn</a> -
<a href="/js/index.asp">JavaScript Hướng dẫn</a> -
<a href="/php/index.asp">PHP Hướng dẫn</a>';
?>

Tất cả các trang web trong trang web này đều sử dụng tệp menu này. Cụ thể là (chúng ta sử dụng một phần tử <div> để dễ dàng đặt样式的 CSS trong tương lai):

<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Chào mừng bạn đến với trang chủ của tôi!</h1>
<p>Một đoạn văn bản.</p>
<p>Thêm một đoạn văn bản.</p>
</body>
</html>

Ví dụ chạy

Ví dụ 3

Giả sử chúng ta có một tệp có tên là "vars.php", trong đó định nghĩa một số biến:

<?php
$color='bạc色的';
$car='xe sedan Mercedes';
?>

Sau đó, nếu chúng ta tham chiếu tệp "vars.php" này, chúng ta có thể sử dụng các biến này trong tệp gọi:

<html>
<body>
<h1>Chào mừng bạn đến với trang chủ của tôi!</h1>
<?php
include 'vars.php';
echo "Tôi có một chiếc" . $color . $car . ".";
?>
</body>
</html>

Ví dụ chạy

PHP include vs. require

Câu lệnh require cũng được sử dụng để tham chiếu tệp vào mã PHP.

Nhưng, include và require có một sự khác biệt lớn: Nếu sử dụng câu lệnh include để tham chiếu một tệp và PHP không thể tìm thấy nó, đoạn mã sẽ tiếp tục thực thi:

Ví dụ

<html>
<body>
<h1>Chào mừng bạn đến với trang chủ của tôi!</h1>
<?php
include 'noFileExists.php';
echo "Tôi có một $color $car.";
?>
</body>
</html>

Ví dụ chạy

Nếu chúng ta sử dụng câu lệnh require để hoàn thành cùng một trường hợp, câu lệnh echo sẽ không tiếp tục thực thi vì khi câu lệnh require trả về lỗi nghiêm trọng, đoạn mã sẽ kết thúc việc thực thi:

Ví dụ

<html>
<body>
<h1>Chào mừng bạn đến với trang chủ của tôi!</h1>
<?php
require 'noFileExists.php';
echo "Tôi có một $color $car.";
?>
</body>
</html>

Ví dụ chạy

Ghi chú:

Vui lòng sử dụng require ở thời điểm này: Khi tệp được ứng dụng yêu cầu.

Vui lòng sử dụng include ở thời điểm này: Khi tệp không cần thiết, và ứng dụng nên tiếp tục chạy khi tệp không tìm thấy.