Bao gồm tệp PHP trong HTML

PHP cho phép chúng ta tạo các phần tử và hàm khác nhau, được sử dụng nhiều lần trong nhiều trang. Mất nhiều thời gian để viết các chức năng này trong nhiều trang. Do đó, hãy sử dụng khái niệm bao gồm tệp giúp bao gồm các tệp trong các chương trình khác nhau và tiết kiệm công sức viết mã nhiều lần

"PHP cho phép bạn bao gồm tệp để nội dung trang có thể được sử dụng lại nhiều lần. Sẽ rất hữu ích khi bao gồm các tệp khi bạn muốn áp dụng cùng một mã HTML hoặc PHP cho nhiều trang của một trang web. " Có hai cách để bao gồm tệp trong PHP

Cả hai bao gồm và yêu cầu giống hệt nhau, ngoại trừ lỗi

  • bao gồm chỉ tạo ra một cảnh báo, tôi. e. , E_WARNING và tiếp tục thực thi tập lệnh
  • yêu cầu tạo ra một lỗi nghiêm trọng, tôi. e. , E_COMPILE_ERROR và dừng thực thi tập lệnh

Thuận lợi

Khả năng sử dụng lại mã. Bằng sự trợ giúp của cấu trúc bao gồm và yêu cầu, chúng ta có thể sử dụng lại mã HTML hoặc tập lệnh PHP trong nhiều tập lệnh PHP

Dễ dàng chỉnh sửa. Nếu chúng tôi muốn thay đổi bất cứ điều gì trong các trang web, hãy chỉnh sửa tệp nguồn có trong tất cả các trang web thay vì chỉnh sửa trong tất cả các tệp riêng lẻ

PHP bao gồm

PHP bao gồm được sử dụng để bao gồm một tệp trên cơ sở đường dẫn đã cho. Bạn có thể sử dụng đường dẫn tương đối hoặc tuyệt đối của tệp

cú pháp

Có hai cú pháp có sẵn để bao gồm

ví dụ

Hãy xem một ví dụ bao gồm PHP đơn giản

Tập tin. thực đơn. html

Tập tin. bao gồm1. php

đầu ra

PHP yêu cầu

Yêu cầu PHP tương tự như bao gồm, cũng được sử dụng để bao gồm các tệp. Sự khác biệt duy nhất là nó dừng thực thi tập lệnh nếu không tìm thấy tệp trong khi không bao gồm

cú pháp

Có hai cú pháp có sẵn cho yêu cầu

ví dụ

Hãy xem một ví dụ yêu cầu PHP đơn giản

Tập tin. thực đơn. html

Tập tin. yêu cầu1. php

đầu ra

PHP bao gồm so với PHP yêu cầu

Cả hai bao gồm và yêu cầu đều giống nhau. Nhưng nếu tệp bị thiếu hoặc bao gồm không thành công, bao gồm sẽ cho phép tập lệnh tiếp tục nhưng yêu cầu tạm dừng tập lệnh tạo ra lỗi cấp độ E_COMPILE_ERROR nghiêm trọng

Hãy hiểu sự khác biệt với sự giúp đỡ của ví dụ

Thí dụ

bao gồm. php

đầu ra

Sự đón chào. tệp php không có sẵn trong cùng thư mục mà chúng tôi đã đưa vào. Vì vậy, nó sẽ đưa ra cảnh báo về tệp bị thiếu nhưng cũng hiển thị đầu ra

Warning: include[welcome.php]: failed to open stream: No such file or directory in C:\xampp\htdocs\program\include.php on line 3

Warning: include[]: Failed opening 'welcome.php' for inclusion [include_path='C:\xampp\php\PEAR'] in C:\xampp\htdocs\program\include.php on line 3
The welcome file is included.

yêu cầu. php

đầu ra

Trong trường hợp yêu cầu [] nếu tệp [chào mừng. php] không được tìm thấy trong cùng thư mục. Yêu cầu [] sẽ tạo ra một lỗi nghiêm trọng và ngừng thực thi tập lệnh, như bạn có thể thấy trong kết quả bên dưới

Nếu có bất cứ điều gì khác, bạn muốn chúng tôi trang trải, vui lòng liên hệ với chúng tôi qua phần bình luận bên dưới. Ngoài ra, nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng để lại nhận xét. Chung tôi se trả lơi sơm nhât co thể

Các tệp được đưa vào dựa trên đường dẫn tệp được cung cấp hoặc, nếu không có đường dẫn nào được cung cấp, thì đường dẫn được chỉ định. Nếu tệp không được tìm thấy trong , thì cuối cùng, include 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 thất bại. Cấu trúc include sẽ phát ra một E_WARNING nếu nó không thể tìm thấy tệp;

Lưu ý rằng cả includerequire đều tăng thêm E_WARNING, nếu tệp không thể truy cập được, trước khi tăng lần lượt E_WARNING hoặc E_ERROR cuối cùng

Nếu một đường dẫn được xác định — cho dù là tuyệt đối [bắt đầu bằng ký tự ổ đĩa hoặc include0 trên Windows hoặc include1 trên hệ thống Unix/Linux] hoặc liên quan đến thư mục hiện tại [bắt đầu bằng include2 hoặc include3] — thì đường dẫn đó sẽ bị bỏ qua hoàn toàn. Ví dụ: nếu tên tệp bắt đầu bằng include4, trình phân tích cú pháp sẽ tìm trong thư mục mẹ để tìm tệp được yêu cầu

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

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

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

include6

include7

include8

include9

include0

include1

include2

include8

Nếu việc bao gồm xảy ra bên trong một hàm trong tệp gọi, thì tất 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ẽ tuân theo phạm vi biến của hàm đó. Một ngoại lệ đối với quy tắc này là các hằng số ma thuật được trình phân tích cú pháp đánh giá trước khi bao gồm xảy ra

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

include4

include5

include6

include7

include8

include8

Khi một tệp được bao gồm, quá trình phân tích cú pháp sẽ thoát khỏi chế độ PHP và chuyển sang chế độ HTML ở phần đầu của tệp đích và tiếp tục lại ở phần 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 "" đượ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 Giao thức và Trình bao bọc được hỗ trợ để biết 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 dưới dạng mã PHP, các biến có thể được chuyển đến tệp được bao gồm bằng cách sử dụ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 giống với việc bao gồm tệp và để nó kế thừa phạm vi biến của tệp mẹ;

Ví dụ #3 include thông qua HTTP

E_WARNING1

E_WARNING2

E_WARNING3

E_WARNING4

Cảnh báo

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 của tệp và thực tế máy chủ từ xa có chạy PHP hay không] nhưng nó vẫn phải tạo 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 chỉ được xử lý ở đó và chỉ xuất ra, readfile[] là chức năng tốt hơn nhiều để sử dụng. Mặt khác, cần đặc biệt cẩn thận để bảo mật tập lệnh từ xa để tạo mã hợp lệ và mong muốn

Xem thêm Tệp từ xa, fopen[] và tệp[] để biết thông tin liên quan

xử lý hàng trả lại. include trả lại E_WARNING6 khi thất bại và đưa ra cảnh báo. Thành công bao gồm, trừ khi bị ghi đè bởi tệp được bao gồm, trả về E_WARNING7. Có thể thực thi một câu lệnh return bên trong một tệp được bao gồm để kết thúc quá trình 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 lệnh gọi bao gồm như đối với một chức năng bình thường. Tuy nhiên, điều này không thể thực hiện được khi bao gồm các tệp từ xa trừ khi đầu ra của tệp từ xa có cá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ỳ thời điểm nào mà tệp được đưa vào

Bởi vì include là một cấu trúc ngôn ngữ đặc biệt, không cần có dấu ngoặc đơn xung quanh đối số 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

E_WARNING9

E_ERROR0

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

E_ERROR2

E_ERROR3

E_ERROR4

include8

E_ERROR6

E_ERROR3

include8

E_ERROR9

include0

include1

include2

include3

include8

include5 là giá trị E_WARNING7 vì bao gồm thành công. Lưu ý sự khác biệt giữa các ví dụ trên. Cái đầu tiên sử dụng trả về trong tệp được bao gồm trong khi cái kia thì không. Nếu không thể bao gồm tệp, include7 được trả lại và E_WARNING được cấp

Nếu có các chức năng được xác định trong tệp được bao gồm, chúng có thể được sử dụng độc lập trong tệp chính nếu chúng ở trước hoặc sau. Nếu tệp được bao gồm hai lần, PHP sẽ phát sinh lỗi nghiêm trọng vì các chức năng đã được khai báo. Bạn nên sử dụng include_once thay vì kiểm tra xem tệp đã được bao gồm chưa và trả lại có điều kiện bên trong tệp được bao gồm

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

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

require0

require1

include8

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

Ghi chú. 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 bằng cách sử dụng các hàm biến, hoặc

Tôi có thể đưa PHP vào tệp HTML không?

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 là 'Bao gồm' và 'Yêu cầu' . Hàm PHP bao gồm []. Chức năng này được sử dụng để sao chép tất 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à từ đó nó được gọi. Điều này xảy ra trước khi máy chủ thực thi mã.

Làm cách nào để liên kết tệp PHP với HTML?

Kỹ thuật đơn giản và dễ dàng nhất để liên kết hai chương trình là thay đổi phần mở rộng tệp của tệp PHP bên ngoài và liên kết tệp đó với HTML . Điều duy nhất bạn cần làm là chuyển. phần mở rộng HTML để. php.

Chủ Đề