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 báo cáo
Có thể chèn nội dung của một tệp PHP vào một 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 giống hệt nhau, ngoại trừ khi thất bại
require
sẽ tạo ra lỗi nghiêm trọng [E_COMPILE_ERROR] và dừng tập lệnhinclude
sẽ chỉ đưa ra 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 quá trình thực thi tiếp tục và hiển thị cho người dùng kết quả, 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 mã hóa ứng dụng FrameWork, CMS hoặc PHP phức tạp, hãy luôn sử dụng câu lệnh yêu cầu để đưa tệp khóa vào 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, chỉ trong trường hợp vô tình thiếu một tệp chính
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 tệp tiêu đề, chân trang hoặc menu tiêu chuẩn cho tất cả các trang web của mình. Sau đó, khi cần cập nhật tiêu đề, bạn chỉ có thể cập nhật tệp bao gồm tiêu đề
cú pháp
bao gồm 'tên tệp';
hoặc là
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 có tên là "footer. php", trông như thế này
tiếng vang"
Bản quyền © 1999-". ngày ["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ụ
Một số tiếp theo
Một số văn bản khác
ví dụ 2
Giả sử chúng ta có một tệp menu tiêu chuẩn gọi là "menu. php"
echo 'Trang chủ -
Hướng dẫn HTML -
Hướng dẫn CSS -
Hướng dẫn JavaScript -
Hướng dẫn PHP';
?>
Tất cả các trang trong trang Web nên sử dụng tệp menu này. Đâ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 có thể dễ dàng được tạo kiểu bằng CSS sau này]
Thí dụ
Một số tiếp theo
Một số văn bản khác
ví dụ 3
Giả sử chúng ta có một tệp tên là "vars. php", với một số biến được định nghĩa
$color='đỏ';
$xe hơi='BMW';
?>
Sau đó, nếu chúng tôi bao gồm "vars. php", các biến có thể được sử dụng trong tệp gọi
Thí dụ
echo "Tôi có một chiếc xe $color. “;
?>
PHP bao gồm so với. yêu cầu
Câu lệnh require
cũng được sử dụng để đưa tệp vào mã PHP
Tuy nhiên, có một sự khác biệt lớn giữa bao gồm và yêu cầu;
Thí dụ
echo "Tôi có một chiếc xe $color. “;
?>
Nếu chúng ta làm ví dụ tương tự bằng cách sử dụng câu lệnh require
, câu lệnh echo sẽ không được thực thi vì quá trình thực thi tập lệnh sẽ chết sau khi câu lệnh require
trả về một lỗi nghiêm trọng
Ví dụ sau đây sẽ minh họa cách một trang web có thể giao tiếp với máy chủ web trong khi người dùng nhập các ký tự vào trường nhập liệu
Thí dụ
Bắt đầu nhập tên vào trường nhập bên dưới
gợi ý
Ví dụ giải thích
Trong ví dụ trên, khi người dùng nhập một ký tự vào trường nhập liệu, một hàm có tên "showHint[]" sẽ được thực thi
Chức năng được kích hoạt bởi sự kiện onkeyup
Đây là mã HTML
Thí dụ
Bắt đầu nhập tên vào trường nhập bên dưới
Tên đầu tiên
gợi ý
Chạy ví dụ »
giải thích mã
Trước tiên, hãy kiểm tra xem trường đầu vào có trống không [chuỗi. chiều dài == 0]. Nếu đúng như vậy, hãy xóa nội dung của trình giữ chỗ txtHint và thoát khỏi chức năng
Để gọi một hàm PHP [có cả tham số], như nhiều người đã nói, bạn có thể gửi một tham số mở tệp PHP và từ đó kiểm tra giá trị của tham số để gọi hàm. Nhưng bạn cũng có thể làm được nhiều người nói rằng điều đó là không thể. gọi trực tiếp hàm PHP thích hợp mà không cần thêm mã vào tệp PHP
tôi tìm được một cách
Cái này cho JavaScript
function callPHP[expression, objs, afterHandler] {
expression = expression.trim[];
var si = expression.indexOf["["];
if [si == -1]
expression += "[]";
else if [Object.keys[objs].length > 0] {
var sfrom = expression.substring[si + 1];
var se = sfrom.indexOf["]"];
var result = sfrom.substring[0, se].trim[];
if [result.length > 0] {
var params = result.split[","];
var theend = expression.substring[expression.length - sfrom.length + se];
expression = expression.substring[0, si + 1];
for [var i = 0; i < params.length; i++] {
var param = params[i].trim[];
if [param in objs] {
var value = objs[param];
if [typeof value == "string"]
value = "'" + value + "'";
if [typeof value != "undefined"]
expression += value + ",";
}
}
expression = expression.substring[0, expression.length - 1] + theend;
}
}
var doc = document.location;
var phpFile = "URL of your PHP file";
var php =
"$docl = str_replace['/', '\\\\', '" + doc + "']; $absUrl = str_replace[$docl, $_SERVER['DOCUMENT_ROOT'], str_replace['/', '\\\\', '" + phpFile + "']];" +
"$fileName = basename[$absUrl];$folder = substr[$absUrl, 0, strlen[$absUrl] - strlen[$fileName]];" +
"set_include_path[$folder];include $fileName;" + expression + ";";
var url = doc + "/phpCompiler.php" + "?code=" + encodeURIComponent[php];
$.ajax[{
type: 'GET',
url: url,
complete: function[resp]{
var response = resp.responseText;
afterHandler[response];
}
}];
}
Điều này dành cho tệp PHP không phải là tệp PHP của bạn mà là tệp khác, đường dẫn này được viết bằng biến url
của hàm JS callPHP
và cần phải đánh giá mã PHP. Tệp này được gọi là 'phpCompiler. php' và nó nằm trong thư mục gốc của trang web của bạn
Vì vậy, mã PHP của bạn vẫn bằng ngoại trừ các giá trị trả về, sẽ được lặp lại
Tôi khuyên bạn nên nhớ rằng jQuery là bắt buộc
Tải xuống từ Google CDN
hoặc từ Microsoft CDN. "Tôi thích Google hơn. . ]"
Tốt hơn là tải xuống tệp từ một trong hai CDN và đặt tệp đó dưới dạng tệp cục bộ, để quá trình tải trang web của bạn khởi động nhanh hơn