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 Show "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
Thuận lợiKhả 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ồmPHP 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ápCó 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ầuYê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ápCó 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ầuCả 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, Lưu ý rằng cả 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 Để 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ề
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
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
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. Bởi vì Ví dụ #4 So sánh giá trị trả về của bao gồm
Ví dụ #5
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 Ví dụ #6 Sử dụng bộ đệm đầu ra để đưa tệp PHP vào một chuỗi
Để 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
|