20

Sono relativamente nuovo a php. C'è una cosa molto semplice che mi ha turbato. Capisco che php è usato per rendere i siti web dinamici. Capisco anche che php è uno dei tanti linguaggi di scripting lato server che possono essere utilizzati per creare siti Web dinamici.quando utilizzare index.php anziché index.html

Tuttavia, quello che non capisco è che quando ho bisogno di usare una pagina index.php. Ad esempio, se ho una semplice pagina di accesso nella mia pagina indice, potrebbe benissimo essere anche una semplice pagina HTML. Destra? Allora perché dovrei farlo index.php invece di index.html?

Un esempio di una situazione di esempio sarebbe ottimo.

+0

Stai pensando troppo. Non c'è una regola severa per questo. Se la pagina contiene solo html, è possibile utilizzare sia perché in funzionalità, non farà alcuna differenza. – itachi

risposta

35

Dovrete scegliere l'estensione PHP (.php) quando volete che il codice php sia eseguito nel file. Il codice PHP è il codice tra l'apertura <?php o <? e i tag di chiusura ?>.

Quando nessun codice PHP deve essere eseguito, è possibile utilizzare l'estensione .html.

Di solito quando si utilizza l'estensione .php si dice al server Web, che dovrebbe utilizzare un interprete PHP per elaborare il file prima che venga consegnato al browser. L'interprete PHP sostituirà quindi tutti i contenuti tra <?php e ?> dall'output del codice PHP. Proprio come se l'avessi scritto manualmente. Il file elaborato verrà quindi consegnato al browser.

Tuttavia, è possibile utilizzare l'estensione .php per comunicare al server Web di elaborare il codice php. Se vuoi puoi usare anche altre estensioni di file.

C'è un'altra cosa che dovrebbe essere indicata. Quando si digita solo il percorso URL (senza un nome di file) come:

http://www.myserver.com/ 

c'è un ordine di estensioni (nomi di file) che il server web (Apache) ricerche per un documento indice. Ad esempio, una configurazione di Apache può contenere una sezione come:

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

Significa che il documento indice viene cercato nell'ordine sopra. Questo significa che collochi un index.html e un index.php nella stessa cartella - e con la configurazione sopra - sempre l'indice. html verrebbe consegnato dal server.

+0

Risposta molto buona, ma che cosa è la velocità? Rende la tua pagina più lenta se non usi il codice php non necessario per includere il codice html, che potresti aver scritto direttamente in un index.html? – henk

+0

@rave Se si utilizza l'estensione '.html' non viene eseguito alcun PHP. – hek2mgl

+0

sì, ho capito. Ma quello che voglio dire è: ciò che è più veloce, ad es. : index.html = "...

del testo

..." o index.php = "... somehtmlfile.html =" ...

del testo

... ". Quindi puoi scrivere il codice da 'somehtmlfile.html' direttamente in index.html oppure puoi usare index.php e quindi esternalizzare un codice html in altri file, ma ciò rende la tua pagina più lenta? – henk

4

È possibile utilizzare quale-mai si preferisce: Se si preferisce mantenere i moduli e le pagine di base che non utilizzano i dati in HTML, e mantenere le pagine che utilizzano php in formato php va bene.

Ma un metodo che io e io supponiamo che molti altri utilizzino è semplicemente creare tutti i file php di tutte le pagine. Questo perché puoi includere un documento html nel file php e visualizzarlo allo stesso modo. Ma non è possibile eseguire query php da un file html, quindi è facile usare sempre php solo nel caso in cui si desideri aggiungere alcuni script php.

Index.php:

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

E 'allucinante a volte si può avere qualche logica scritto su index.php. Come si può verificare se l'utente è connesso o meno e quindi reindirizzare l'utente ad una pagina specifica. Inoltre puoi eseguire il reindirizzamento del dispositivo come nel caso dei dispositivi mobili.

È sempre possibile scegliere di creare index.html ma non si sa quando potrebbe essere necessario avere qualche logica lì.

4

Per impostazione predefinita, il server Apache ha bisogno di un file con estensione .php per analizzare il codice PHP all'interno di esso. Tuttavia, se lo desideri, puoi configurare il tuo server, aggiungendo una singola riga al file di configurazione, per utilizzare file con qualsiasi estensione con codice PHP al suo interno. Puoi modificare l'apache da solo per supportare php anche nell'estensione .HTML.

5

Non è un grosso problema se si utilizza index.php o index.html. Puoi usare qualcuno di entrambi. L'unica cosa è che hai bisogno di PHP (o di qualsiasi altro linguaggio di scripting lato server) per rendere dinamico il tuo sito.

Come se avessi una pagina di accesso, puoi sicuramente renderla come inde.html ma le tue logiche dovrebbero essere in un file diverso o incorporate in HTMl.

6

Non danneggerà un sito Web se pubblichi ogni pagina come .php. Apache è molto veloce per servire qualsiasi php, per non parlare di uno che contiene solo html statici.

Come principiante potresti trovare php che ti sarà di beneficio, consentendo di creare modelli semplici. L'intestazione e il piè di pagina del sito, ad esempio, potrebbero essere scritti in un unico file, quindi inclusi in tutte le altre pagine.

2

In termini semplici, è possibile accedere facilmente al file index.html e ottenere i dati sottostanti.Ma index.php è di difficile accesso. Per la tua semplice applicazione index.html farà il trucco. Se state progettando per un po 'grande e sicura applicazione andare per index.php

0

Per controllare le impostazioni correnti per la priorità estensione del file in apache2 con Linux

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

1

Ho anche lo stesso problema compagno. Ma penso che .php sia molto meglio di .html dato che è più dinamico e puoi anche fare un sacco di cose interessanti.

Problemi correlati