Hướng dẫn how to include file in php - làm thế nào để bao gồm tệp trong php

PHP bao gồm các tập tinInclude Files


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

Bao gồm các tệp rất hữu ích khi bạn muốn bao gồm cùng một PHP, HTML hoặc văn bản trên nhiều trang của một trang web.


PHP bao gồm và yêu cầu các tuyên bố

Có thể chèn nội dung của một tệp PHP vào tệp PHP khác (trước khi máy chủ thực thi nó), với câu lệnh bao gồm hoặc yêu cầu.

Các câu lệnh bao gồm và yêu cầu là giống hệt nhau, ngoại trừ khi thất bại:

  • require sẽ tạo ra một lỗi nghiêm trọng (e_compile_error) và dừng tập lệnh
  • include sẽ chỉ tạo ra một 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 thực hiện sẽ tiếp tục và hiển thị cho người dùng đầu ra, ngay cả khi tệp bao gồm bị thiếu, hãy sử dụng câu lệnh bao gồm. Mặt khác, trong trường hợp Framework, CMS hoặc mã hóa ứng dụng PHP phức tạp, luôn sử dụng câu lệnh Yêu cầu để bao gồm một tệp chính để thực hiện. Điều này sẽ giúp tránh làm ảnh hưởng đến bảo mật và tính toàn vẹn của ứng dụng của bạn, chỉ trong trường hợp một tệp chính bị thiếu.

Bao gồm các tập tin 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 một tiêu đề tiêu chuẩn, chân trang hoặc tệp menu cho tất cả các trang web của bạn. Sau đó, khi tiêu đề cần được cập nhật, bạn chỉ có thể cập nhật tiêu đề bao gồm tệp.

Cú pháp

bao gồm 'tên tệp';

hoặc

yêu cầu 'tên tệp';


PHP bao gồm các ví dụ

ví dụ 1

Giả sử chúng ta có một tệp chân trang tiêu chuẩn gọi là "footer.php", trông như thế này:

echo "

Copyright © 1999-" . date("Y") . " W3Schools.com

";
?>

Để bao gồm tệp chân trang trong một trang, hãy sử dụng câu lệnh include:

Thí dụ


Chào mừng đến với trang chủ của tôi! Một số văn bản. Một số văn bản hơn.

Some text.


Some more text.



Chạy ví dụ »



Ví dụ 2

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

echo 'Home -
HTML Tutorial -
CSS Tutorial -
JavaScript Tutorial -
PHP Tutorial';
?>

Để bao gồm tệp chân trang trong một trang, hãy sử dụng câu lệnh include:

Thí dụ


Chào mừng đến với trang chủ của tôi! Một số văn bản. Một số văn bản hơn.

Some text.


Some more text.


Chạy ví dụ »


Ví dụ 2

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

$color='red';
$car='BMW';
?>

Để bao gồm tệp chân trang trong một trang, hãy sử dụng câu lệnh include:

Thí dụ


Chào mừng đến với trang chủ của tôi! Một số văn bản. Một số văn bản hơn.
echo "I have a $color $car.";
?>


Chạy ví dụ »


Ví dụ 2

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

Thí dụ


Chào mừng đến với trang chủ của tôi! Một số văn bản. Một số văn bản hơn.
echo "I have a $color $car.";
?>


Chạy ví dụ »

Ví dụ 2

Thí dụ


Chào mừng đến với trang chủ của tôi! Một số văn bản. Một số văn bản hơn.
echo "I have a $color $car.";
?>


Chạy ví dụ »

Ví dụ 2

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


Tất cả các trang trong trang web nên sử dụng tệp menu này. Dưới đây là cách nó có thể được thực hiện (chúng tôi đang sử dụng một phần tử để menu dễ dàng có thể được tạo kiểu với CSS sau):



(Php 4, Php 5, Php 7, Php 8)

Biểu thức include bao gồm và đánh giá tệp được chỉ định.

Các tài liệu dưới đây cũng áp dụng để yêu cầu.require.

Các tệp được bao gồm dựa trên đường dẫn tệp được cung cấp hoặc, nếu không được cung cấp, bao gồm_path được chỉ định. Nếu tệp không được tìm thấy trong bao gồm_path, include cuối cùng sẽ kiểm tra thư mục riêng của tập lệnh gọi và thư mục làm việc hiện tại trước khi không thành công. Cấu trúc include sẽ phát ra một require4 nếu nó không thể tìm thấy một tệp; Đây là hành vi khác với yêu cầu, sẽ phát ra một require5.require4 if it cannot find a file; this is different behavior from require, which will emit an require5.

Lưu ý rằng cả includerequire đều tăng thêm require4, nếu không thể truy cập tệp, trước khi tăng lần lượt là require4 hoặc require5 cuối cùng.require4s, if the file cannot be accessed, before raising the final require4 or require5, respectively.

Nếu một đường dẫn được xác định - cho dù là tuyệt đối (bắt đầu với một ký tự ổ đĩa hoặc require1 trên Windows hoặc require2 trên các hệ thống UNIX/Linux) hoặc liên quan đến thư mục hiện tại (bắt đầu bằng require3 hoặc require4) - sẽ bị bỏ qua hoàn toàn. Ví dụ: nếu một tên tệp bắt đầu bằng require5, trình phân tích cú pháp sẽ tìm trong thư mục cha để tìm tệp được yêu cầu.

Để biết thêm thông tin về cách xử lý PHP bao gồm các tệp và đường dẫn bao gồm, hãy xem tài liệu cho bao gồm_path.

Khi một tệp được bao gồm, mã nó chứa kế thừa phạm vi biến của dòng mà bao gồm xảy ra. Bất kỳ biến nào có sẵn ở dòng đó trong tệp gọi sẽ có sẵn trong tệp được gọi, từ thời điểm đó trở đi. Tuy nhiên, tất cả các chức năng và các lớp được xác định trong tệp bao gồm có phạm vi toàn cầu.

Ví dụ #1 Ví dụ include cơ bản

require7

require8

require9

Nếu bao gồm xảy ra bên trong một hàm trong tệp gọi, thì tất cả các mã có trong tệp được gọi sẽ hoạt động như thể nó đã được xác định bên trong hàm đó. Vì vậy, nó sẽ theo phạm vi biến của chức năng đó. Một ngoại lệ cho quy tắc này là các hằng số ma thuật được đánh giá bởi trình phân tích cú pháp trước khi bao gồm xảy ra.

Ví dụ #2 bao gồm trong các chức năng

include0

include1

include2

Khi bao gồm một tệp, phân tích cú pháp rơi ra khỏi chế độ PHP và vào chế độ HTML ở đầu tệp đích và tiếp tục lại ở cuối. Vì lý do này, bất kỳ mã nào bên trong tệp đích sẽ được thực thi dưới dạng mã PHP phải được đặt trong các thẻ bắt đầu và kết thúc PHP hợp lệ.

Nếu "URL bao gồm trình bao bọc" được bật trong PHP, bạn có thể chỉ định tệp được bao gồm bằng URL (thông qua HTTP hoặc trình bao bọc được hỗ trợ khác - xem các giao thức và trình bao quy hoạt được hỗ trợ cho danh sách các giao thức) thay vì tên đường dẫn cục bộ. Nếu máy chủ đích diễn giải tệp đích làm mã PHP, các biến có thể được chuyển đến tệp được bao gồm bằng chuỗi yêu cầu URL như được sử dụng với HTTP GET. Điều này không hoàn toàn nói điều tương tự như bao gồm tệp và việc kế thừa phạm vi biến của tệp cha mẹ; Kịch bản thực sự đang được chạy trên máy chủ từ xa và kết quả sau đó được đưa vào tập lệnh cục bộ.

Ví dụ #3 include đến HTTP

include4

include5

include6

Cảnh báo

Cảnh báo an ninh

Tệp từ xa có thể được xử lý tại máy chủ từ xa (tùy thuộc vào phần mở rộng tệp và thực tế nếu máy chủ từ xa chạy PHP hay không) nhưng nó vẫn phải tạo ra một tập lệnh PHP hợp lệ vì nó sẽ được xử lý tại máy chủ cục bộ. Nếu tệp từ máy chủ từ xa nên được xử lý ở đó và chỉ xuất ra, readFile () có chức năng tốt hơn nhiều để sử dụng. Nếu không, cần phải chăm sóc đặc biệt để bảo mật tập lệnh từ xa để tạo mã hợp lệ và mong muốn.readfile() is much better function to use. Otherwise, special care should be taken to secure the remote script to produce a valid and desired code.

Xem thêm các tệp từ xa, fopen () và file () để biết thông tin liên quan.fopen() and file() for related information.

Trả lại xử lý: include Trả về include8 về thất bại và đưa ra cảnh báo. Thành công bao gồm, trừ khi được ghi đè bởi tệp bao gồm, trả về include9. Có thể thực thi câu lệnh trả về bên trong một tệp được bao gồm để chấm dứt xử lý trong tệp đó và quay lại tập lệnh gọi nó. Ngoài ra, có thể trả về các giá trị từ các tệp được bao gồm. Bạn có thể lấy giá trị của cuộc gọi bao gồm như bạn sẽ làm cho một hàm bình thường. Tuy nhiên, điều này không thể xảy ra khi bao gồm các tệp từ xa trừ khi đầu ra của tệp từ xa có thẻ bắt đầu và kết thúc PHP hợp lệ (như với bất kỳ tệp cục bộ nào). Bạn có thể khai báo các biến cần thiết trong các thẻ đó và chúng sẽ được giới thiệu tại bất kỳ điểm nào được đưa vào tệp.return statement inside an included file in order to terminate processing in that file and return to the script which called it. Also, it's possible to return values from included files. You can take the value of the include call as you would for a normal function. This is not, however, possible when including remote files unless the output of the remote file has valid PHP start and end tags (as with any local file). You can declare the needed variables within those tags and they will be introduced at whichever point the file was included.

Bởi vì include là một cấu trúc ngôn ngữ đặc biệt, dấu ngoặc đơn không cần thiết xung quanh lập luận của nó. Hãy cẩn thận khi so sánh giá trị trả lại.

Ví dụ #4 So sánh giá trị trả về của bao gồm

include1

Ví dụ #5 include và câu lệnh trả vềreturn statement

include3

include4

include5

include6 là giá trị include9 vì bao gồm đã thành công. Lưu ý sự khác biệt giữa các ví dụ trên. Việc sử dụng đầu tiên trả về trong tệp được bao gồm trong khi tài liệu khác thì không. Nếu tệp không thể được bao gồm, include8 sẽ được trả về và require4 được phát hành.return within the included file while the other does not. If the file can't be included, include8 is returned and require4 is issued.

Nếu có các chức năng được xác định trong tệp bao gồm, chúng có thể được sử dụng trong tệp chính độc lập nếu chúng trước khi trả về hoặc sau. Nếu tệp được bao gồm hai lần, PHP sẽ gây ra lỗi nghiêm trọng vì các chức năng đã được khai báo. Nên sử dụng bao gồm_once thay vì kiểm tra xem tệp đã được bao gồm và có điều kiện trả về bên trong tệp được bao gồm.return or after. If the file is included twice, PHP will raise a fatal error because the functions were already declared. It is recommended to use include_once instead of checking if the file was already included and conditionally return inside the included file.

Một cách khác để "bao gồm" một tệp PHP vào một biến là nắm bắt đầu ra bằng cách sử dụng các chức năng điều khiển đầu ra với include. Ví dụ:

Ví dụ #6 Sử dụng bộ đệm đầu ra để bao gồm tệp PHP vào chuỗi

require1

require2

require3

Để tự động bao gồm các tệp trong các tập lệnh, hãy xem thêm các tùy chọn cấu hình auto_prepend_file và auto_append_file trong php.ini.

Lưu ý: Bởi vì đây là một cấu trúc ngôn ngữ và không phải là một hàm, nó không thể được gọi là sử dụng các hàm biến hoặc các đối số được đặt tên.: Because this is a language construct and not a function, it cannot be called using variable functions, or named arguments.

Xem thêm Yêu cầu, Yêu cầu_once, Bao gồm_once, get_included_files (), readFile (), ảo () và bao gồm_path.require, require_once, include_once, get_included_files(), readfile(), virtual(), and include_path.

Snowyurik tại gmail dot com

14 năm trước

require4

Phát ban ¶

7 năm trước

require5

require6

require7

require8

John Carty ¶

6 năm trước

require9

include0

include1

include2

include3

include4

include5

include6

include7

Anon ¶

10 năm trước

include8

Lỗi17191 tại Gmail Dot Com ¶

7 năm trước

include9

require0

require1

require2

include7

John Carty ¶

14 năm trước

require4

require5

include7

Phát ban ¶

14 năm trước

require7

require8

require9

require0

require1

require2

require3

include7

Phát ban ¶

7 năm trước

require5

require6

include7

John Carty ¶

6 năm trước

require8

require9

include7

Anon ¶

10 năm trước

require1

Lỗi17191 tại Gmail Dot Com ¶

WADE. ¶

require2

require3

include7

Rick Garcia ¶

jbezorg tại gmail dot com ¶

require5

require6

require7

require8

require9

include7

4 năm trước

jbezorg tại gmail dot com ¶

require01

require02

require03

include7

4 năm trước

Ray.paseur thường sử dụng gmail ¶

require05

require06

require07

require08

require09

require10

require11

8 năm trước

Anonphpuser ¶

require12

16 ngày trước

splayer ¶

require13

require14

include7

11 năm trước

14 năm trước

require16

require17

require18

require19

require20

Phát ban ¶

7 năm trước

require21

require22

require23

require24

require25

require26

include7

John Carty ¶

6 năm trước

require28

require29

require30

require31

require32

require33

include7

Anon ¶

7 năm trước

require35

require36

require37

require38

John Carty ¶

14 năm trước

require39

require40

include7

Phát ban ¶

7 năm trước

require42

require43

require44

John Carty ¶

Những cách để bao gồm tệp trong PHP là gì?

PHP bao gồm các tập tin. Câu lệnh bao gồm (hoặc yêu cầu) lấy tất cả các văn bản/mã/đánh dấu tồn tại trong tệp được chỉ định và sao chép nó vào tệp sử dụng câu lệnh bao gồm. Bao gồm các tệp rất hữu ích khi bạn muốn bao gồm cùng một PHP, HTML hoặc văn bản trên nhiều trang của một trang web.The include (or require ) statement takes all the text/code/markup that exists in the specified file and copies it into the file that uses the include statement. Including files is very useful when you want to include the same PHP, HTML, or text on multiple pages of a website.

Làm cách nào để đưa một tệp trong một thư mục khác trong PHP?

Xác định ("đường dẫn lib", __dir__) trong lib/config.PHP sẽ luôn giải quyết cho thư mục LIB hiện tại.Sau đó, xác định ("cơ sở đường dẫn", dir (dir__)) sẽ giải quyết cho thư mục cơ sở của dự án, là cha mẹ của thư mục LIB.Thats tất cả để có nó;Đường dẫn lib là bắt buộc.

Làm cách nào để bao gồm hai tệp PHP?

Câu lệnh bao gồm () được sử dụng để bao gồm một tệp PHP trong một tệp khác.Bằng cách này, bạn có thể viết một đoạn mã trong tệp PHP và có thể sử dụng nó vào nhiều tệp thông qua câu lệnh bao gồm (). is used to include a php file in another file. This way you can write a piece of code in a php file and can use it to multiple files through include() statement.

Làm cách nào để bao gồm một tệp PHP trong tệp HTML?

Chúng tôi có thể chèn bất kỳ tệp PHP nào vào mã HTML bằng cách sử dụng hai từ khóa 'bao gồm' và 'yêu cầu'.Php bao gồm () hàm: Hàm này được sử dụng để sao chép tất cả các nội dung của một tệp được gọi trong hàm, văn bản khôn ngoan vào một tệp mà nó được gọi.Điều này xảy ra trước khi máy chủ thực thi mã.using two keywords that are 'Include' and 'Require'. PHP include() function: This function is used to copy all the contents of a file called within the function, text wise into a file from which it is called. This happens before the server executes the code.