Pytanie Jak dodać kod PHP / plik do plików HTML (.html)?


Nie mogę używać PHP na moich stronach HTML. Na przykład, index.html. Próbowałem użyć obu:

<? contents ?> 

i

<?php contents ?> 

Żadne z tych zadań nie działa. Mój serwer oferuje PHP, a kiedy korzystam z .php rozszerzenie, działa poprawnie. Czy to jest problem, czy też muszę zmienić preferencje w php.ini?


76
2017-07-03 13:45


pochodzenie


Musiałbyś zmienić swój serwer (zakładam, że apache), aby obsługiwał pliki HTML jako php, ale dlaczego chcesz, aby rozszerzenie było html zamiast php? - Explosion Pills
php.about.com/od/advancedphp/p/html_php.htm - undone
@ExplosionPills Zrobiłem to za pomocą IIS v7! i to jest możliwe! - undone
@ Dean Nie chciałem sugerować, że to możliwe tylko zrobić z Apache, właśnie założyłem, że on używa Apache. - Explosion Pills
Cóż za okropny pomysł. Użyj przekierowań, by zapisać swoje SEO. Użyj .html dla HTML i .php dla PHP. - Alien Technology


Odpowiedzi:


Nie można uruchamiać PHP w plikach .html, ponieważ serwer nie rozpoznaje tego jako poprawnego rozszerzenia PHP, chyba że mu to powiesz. Aby to zrobić, musisz utworzyć plik .htaccess w głównym katalogu internetowym i dodać do niego następujący wiersz:

AddType application/x-httpd-php .htm .html

Dzięki temu Apache będzie przetwarzał pliki z rozszerzeniem .htm lub .html jako pliki PHP.


122
2017-07-03 13:47



Chociaż tak jest dobrze Myślę, że ważniejsze jest pytanie czemu Zrób to? Ponadto powinien zaktualizować konfigurację serwera, a nie używać .htaccess jeśli to jest opcja. - Explosion Pills
Robiłem to przy wielu okazjach, aby ukryć fakt, że używam PHP (oprócz innych rzeczy) - nickb
dzięki za wspaniałą informację. to naprawdę działa od razu. - Hoon
@nickb - bezpieczeństwo przez zaciemnienie? - Nathan Long
@EricFinn - to dobra wskazówka. Ale po procesie serwera .html pliki takie jak PHP nie są konieczne, ani pomocne w śledzeniu go. Chcesz, aby użytkownicy odwiedzali example.com/foo. Możesz użyć tego adresu URL do obsługi treści PHP niezależnie od nazw plików na serwerze. Jeśli użytkownicy już to mają foo.html zakładki, nadal możesz służyć foo.php bez zmiany nazwy pliku. - Nathan Long


Myślę, że pisanie PHP do pliku .html jest mylące i antynaturalne. Dlaczego chcesz to zrobić??

W każdym razie, jeśli chcesz, aby pliki PHP były uruchamiane i pokazywane jako .html w pasku adresu, najprostszym rozwiązaniem byłoby użycie .php jak zwykle i napisanie reguły w pliku .htaccess w ten sposób:

RewriteRule ^([^.]+)\.html$ $1.php [L]

19
2017-07-03 13:56



Co się stanie, jeśli użyję PHP + HTML? jaki format powinienem użyć? Jestem całkiem zdezorientowany. Moja strona ma naprawdę krótki kod oparty na PHP i jest wiele kodów w HTML. Więc zamierzałem zrobić plik HTML. Czy to zły nawyk? - Hoon
Format powinien być .php, ponieważ pliki .html mają zawierać tylko kod HTML. - David Morales


Aby używać php w plikach .html, musisz powiązać je z procesorem PHP w pliku konfiguracyjnym serwera HTTP. W Apache wygląda to następująco:

AddHandler application/x-httpd-php .html

13
2017-07-03 13:47





Możesz zmodyfikować .htaccess tak jak inni powiedzieli, ale najszybszym rozwiązaniem jest zmiana nazwy rozszerzenia pliku na .php


11
2017-07-03 14:00





Dodaj tę linię

AddHandler application/x-httpd-php .html

do httpd.conf plik do tego, co chcesz zrobić. Pamiętaj jednak, że jeśli to zrobisz, twój serwer będzie bardzo wolny, ponieważ będzie parsował nawet statyczny kod, który nie będzie zawierał kodu php. Tak więc lepszym sposobem będzie rozszerzenie pliku .phtml zamiast po prostu .html.


8
2017-07-04 20:43



Pamiętaj, aby nie pisać całej odpowiedzi pogrubioną czcionką. - David Morales


Za posiadanie .html pliki są również analizowane, musisz ustawić odpowiedni moduł obsługi w konfiguracji serwera.

Dla Apache httpd 2.X jest to następujący wiersz

AddHandler application/x-httpd-php .html

Zobacz PHP docu w celu uzyskania informacji na temat instalacji określonego serwera.


7
2017-07-03 13:49





Domyślnie nie można używać PHP na stronach HTML.

Aby to zrobić, zmodyfikuj plik .htacccess, wykonując następujące czynności:

AddType application/x-httpd-php .html

6
2017-07-03 13:48





Jeśli masz tylko kod php w jednym pliku html, ale masz wiele innych plików, które zawierają tylko kod HTML, możesz dodać następujący plik do pliku .htaccess, aby wyświetlał tylko ten plik jako php.

<Files yourpage.html>
AddType application/x-httpd-php .html 
//you may need to use x-httpd-php5 if you are using php 5 or higher
</Files>

Spowoduje to, że plik wykonywalny PHP będzie TYLKO w pliku "yourpage.html", a nie na wszystkich stronach html, co zapobiegnie spowolnieniu na całym serwerze.

Co do tego, dlaczego ktoś może chcieć serwować php za pomocą pliku html, używam funkcji IMPORTHTML w arkuszach kalkulacyjnych google do importowania danych JSON z zewnętrznego adresu URL, który musi zostać sparsowany za pomocą php, aby go wyczyścić i zbudować tabelę html. Do tej pory nie znalazłem żadnego sposobu na import pliku .php do arkuszy kalkulacyjnych google, więc musi on zostać zapisany jako plik .html, aby funkcja działała. Możliwość obsługi php za pomocą pliku .html jest niezbędna do tego konkretnego zastosowania.


3
2018-02-15 15:36





Do połączenia HTML i PHP możesz użyć plików .phtml.


-3
2017-10-14 16:56