20

Tôi tương đối mới với php. Có một điều rất cơ bản đã gây rắc rối cho tôi. Tôi hiểu rằng php được sử dụng để làm cho các trang web năng động. Tôi cũng hiểu rằng php là một trong nhiều ngôn ngữ kịch bản phía máy chủ có thể được sử dụng để tạo các trang web động.khi nào nên sử dụng index.php thay vì index.html

Tuy nhiên, điều tôi không hiểu là khi nào tôi cần sử dụng trang index.php. Ví dụ, nếu tôi chỉ có một trang đăng nhập đơn giản trên trang chỉ mục của tôi, nó có thể rất tốt chỉ là một trang html đơn giản. Đúng? Vậy tại sao tôi muốn làm cho nó index.php thay vì index.html?

Ví dụ về tình huống mẫu sẽ tuyệt vời.

+0

Bạn đang suy nghĩ quá. Không có quy tắc nghiêm ngặt với điều này. Nếu trang chỉ chứa html, bạn có thể sử dụng vì trong chức năng, nó sẽ không tạo ra bất kỳ sự khác biệt nào. – itachi

Trả lời

35

Bạn sẽ phải chọn phần mở rộng PHP (.php) khi bạn muốn mã php được thực thi trong tệp. Mã PHP là mã giữa việc mở <?php hoặc <? và đóng các thẻ ?>.

Khi không có mã PHP nào được thực thi, bạn có thể sử dụng phần mở rộng .html.

Thông thường khi sử dụng phần mở rộng .php bạn đang nói với máy chủ web, bạn nên sử dụng trình thông dịch php để xử lý tệp trước khi nó được gửi tới trình duyệt. Sau đó, trình thông dịch php sẽ thay thế tất cả nội dung giữa <?php?> bằng đầu ra của mã PHP. Cũng giống như khi bạn viết nó theo cách thủ công. Tệp được xử lý sau đó sẽ được gửi tới trình duyệt.

Tuy nhiên, sử dụng phần mở rộng .php để yêu cầu máy chủ web xử lý mã php có thể định cấu hình được. Nếu bạn muốn, bạn cũng có thể sử dụng các phần mở rộng tệp khác.

Có một điều khác cần được chỉ ra. Khi bạn chỉ nhập đường dẫn url (không có tên tệp) như:

http://www.myserver.com/ 

có thứ tự các đuôi (tên tệp) mà máy chủ web (apache) tìm kiếm tài liệu chỉ mục. Ví dụ: cấu hình apache có thể chứa một phần như:

<IfModule mod_dir.c> 
     DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm 
</IfModule> 

Có nghĩa là tài liệu chỉ mục được tìm kiếm theo thứ tự ở trên. Điều này có nghĩa là nếu bạn đặt index.html và index.php trong cùng một thư mục - và có cấu hình ở trên - luôn là chỉ mục. html sẽ được máy chủ phân phối.

+0

Câu trả lời rất hay, nhưng whats về tốc độ? Liệu nó làm cho trang của bạn chậm hơn nếu bạn sử dụng mã php không cần thiết để bao gồm mã html, bạn có thể viết trực tiếp vào index.html không? – henk

+0

@rave Nếu bạn sử dụng phần mở rộng '.html' không có PHP được thực hiện. – hek2mgl

+0

vâng tôi hiểu. Nhưng ý tôi là: Ví dụ: nhanh hơn : index.html = "...

một số văn bản

..." hoặc index.php = "... somehtmlfile.html =" ...

một số văn bản

... "Vì vậy, bạn có thể viết mã từ 'somehtmlfile.html' trực tiếp vào index.html hoặc bạn có thể sử dụng index.php và sau đó outsorce một số mã html cho các tệp khác, nhưng điều này làm cho trang của bạn chậm hơn? – henk

4

Bạn có thể sử dụng tùy chọn nào: Nếu bạn muốn giữ biểu mẫu và trang cơ bản không sử dụng dữ liệu trong HTML, và giữ các trang sử dụng php ở định dạng php.

Nhưng một phương pháp mà tôi và tôi cho rằng hầu hết những người khác sử dụng chỉ là tạo tất cả các tệp php trang của bạn. Điều này là bởi vì bạn có thể bao gồm một tài liệu html trong tập tin php và hiển thị nó chỉ giống nhau. Nhưng bạn không thể làm các truy vấn php từ một tập tin html vì vậy nó rất dễ dàng để chỉ luôn luôn sử dụng php chỉ trong trường hợp bạn muốn thêm một số script php vào nó.

index.php:

<?php 
$var = 5; 
?> 
<html> 
<head> 
<title>My Page</title> 
</head> 
<body> 
<h2>Your variable was <?php echo $var; ?></h2> 
</body> 
</html> 
2

Đó là beacuse đôi khi bạn có thể có một số logic viết trên index.php. Giống như bạn có thể kiểm tra xem người dùng có đăng nhập hay không và sau đó chuyển hướng người dùng đến một số trang cụ thể. Ngoài ra, bạn có thể thực hiện chuyển hướng dựa trên thiết bị như trong trường hợp thiết bị di động.

Bạn luôn có thể chọn tạo index.html nhưng bạn không biết khi nào bạn có thể cần phải có một số logic ở đó.

4

Theo mặc định, máy chủ apache cần tệp có phần mở rộng .php để phân tích cú pháp mã PHP bên trong nó. Mặc dù, nếu bạn muốn, bạn có thể cấu hình máy chủ của mình, bằng cách thêm một dòng vào tệp cấu hình, để sử dụng các tệp có bất kỳ phần mở rộng nào có mã PHP bên trong nó. Bạn có thể chỉnh sửa apache của chính mình để hỗ trợ php cũng trong phần mở rộng .HTML.

5

Đó không phải là vấn đề lớn cho dù bạn sử dụng index.php hay index.html. Bạn ca sử dụng bất cứ ai của một trong hai. Chỉ có điều là bạn cần PHP (hoặc bất kỳ ngôn ngữ kịch bản phía máy chủ khác) để làm cho trang web của bạn năng động.

Giống như bạn có một trang đăng nhập, bạn chắc chắn có thể làm cho nó như inde.html nhưng logic của bạn sẽ phải nằm trong một tệp khác hoặc được nhúng trong HTMl.

6

Nó sẽ không làm hỏng trang web nếu bạn phục vụ mọi trang dưới dạng .php. Apache là rất nhanh để phục vụ bất kỳ php, hãy để một mình mà chỉ chứa html tĩnh.

Là người mới bắt đầu, bạn có thể thấy php sẽ có lợi cho bạn, bằng cách cho phép bạn tạo các mẫu đơn giản. Đầu trang và chân trang của trang web bao gồm ví dụ có thể được viết trong một tệp, sau đó bao gồm trong tất cả các trang khác.

2

Trong điều kiện đơn giản, bạn có thể dễ dàng truy cập tệp index.html và lấy dữ liệu bên dưới tệp. Nhưng index.php khó truy cập. Đối với index.html ứng dụng đơn giản của bạn sẽ thực hiện thủ thuật. Nếu bạn đang có kế hoạch cho một số ứng dụng lớn và an toàn đi cho index.php

0

Để kiểm tra trạng thái hiện tại ưu tiên mở rộng tập tin trong apache2 với linux

/etc/apache2/mods-enabled/dir.conf

1

Tôi cũng có cùng một vấn đề. Nhưng, tôi nghĩ rằng. Php là tốt hơn nhiều so với .html vì nó là năng động hơn cộng với bạn có thể làm một loạt các công cụ mát mẻ cũng có.

Các vấn đề liên quan