2010-08-23 19 views
21

Ho un file PHP dove ho definito le variabili di accesso al server, nonché mysql_connect e mysql_select_db, poiché queste funzioni sono regolarmente utilizzate in quasi tutte le pagine del backend, mentre sto usando include() che funziona perfettamente per me ora, quale metodo o la funzione suggeriresti e vorrei sapere se c'è qualche difetto se uso include() o è sicuro utilizzarlo?include, include_once, require o require_once?

Modifica: Tieni presente che userò anche la variabile $_SESSION.

risposta

31

L'unica differenza tra i due è che require e la sua sorella require_once gettare un errore fatale se il file non viene trovato, mentre include e include_once mostrano solo un avviso e continuare a caricare il resto della pagina. Se non vuoi che PHP tenti di caricare il resto della tua pagina senza le informazioni del database (che suppongo), usa require_once. Non è necessario includere il file più di una volta, quindi non è necessario utilizzare la normale funzione require.

+0

grazie, sto andando con require_once, sì, mi piacerebbe che lo script morisse se qualcosa non va con la variabile di accesso al server perché non ha alcun significato nel back-end senza la connessione al database. comunque potrei anche usarlo come, mysql_connect ($ host, $ username, $ password) o die (mysql_error()); e poi usarlo con include(), questo costringerà anche lo script a morire, come require_once? non è vero? –

+0

@Ibrahim Azhar Armar: Sì, ma ** perché **? Voglio dire, dovresti avere comunque quel tipo di controllo degli errori, ma in questa situazione non c'è * nessun punto in cui usare l'opzione include. –

+0

sono d'accordo e sto rispettando require_once() –

-1

require() è meglio per voi. Perché con richiede il file include prima della compilazione dello script. inluce() usando in dinamical incluso.

+0

Io non sono davvero sicuro di quello che stavi cercando di dire qui ma non è rilevante per la La domanda dell'OP ... –

2

Per le variabili di connessione del database, sarà preferibile utilizzare la funzione require_once(). Se la connessione non riesce per qualsiasi motivo, è possibile visualizzare il messaggio di errore.

-1

Dovresti usare include_once() se lo stai includendo più di una volta su una pagina.

1

Se la tua pagina non funziona senza la connessione DB, require_once sarebbe l'unica opzione corretta (dato che non vuoi caricare queste impostazioni due volte, caricarle una volta dovrebbe essere sufficiente). Includi tenterà di caricare la pagina anche se il file delle impostazioni non è disponibile.

+0

sta usando le variabili $ _SESSION anche perché ho a che fare con il back-end in cui all'utente verrà concesso l'accesso in base alle sessioni, è ancora abbastanza buono se utilizzo require_once()? –

0

Includi L'istruzione include() include e valuta il file specificato.

Includi una volta L'istruzione include_once() include e valuta il file specificato durante l'esecuzione dello script. Questo è un comportamento simile all'istruzione include(), con la sola differenza che se il codice di un file è già stato incluso, non verrà incluso di nuovo. Come suggerisce il nome, sarà incluso solo una volta.

Require require() e include() sono identici in tutti i modi tranne il modo in cui gestiscono l'errore. Entrambi producono un avvertimento, ma richiedono() un errore irreversibile. In altre parole, non esitare a usare require() se vuoi un file mancante per fermare l'elaborazione della pagina.

Richiedi una volta L'istruzione require_once() include e valuta il file specificato durante l'esecuzione dello script. Questo è un comportamento simile all'istruzione require(), con la sola differenza che se il codice di un file è già stato incluso, non verrà incluso di nuovo.

16

Funzionale: Tutte le funzioni eseguono lavori simili. Tutte le funzioni includeranno e valuteranno il file specifico durante l'esecuzione del codice.

differenza funzionale:

includono vs include_once: C'è solo una differenza tra include() e include_once(). Se il codice di un file è già stato incluso, non verrà incluso di nuovo se usiamo include_once(). I mezzi include_once() includono il file solo una volta alla volta.

include vs require: se include() non è in grado di trovare un file specificato sul percorso in quel momento verrà visualizzato un avviso, tuttavia, non interromperà l'esecuzione dello script. Per lo stesso scenario, require() genererà un errore fatale e interromperà l'esecuzione dello script.

require vs require_once: C'è solo una differenza tra require() e require_once(). Se il codice di un file è già stato incluso, non verrà incluso di nuovo se usiamo require_once(). I mezzi require_once() includono il file solo una volta alla volta.

Per ottenere una conoscenza dettagliata con l'esempio si prega di consultare questi articoli sorprendenti
(1) http://www.readmyviews.com/include-vs-include-once/
(2) http://www.readmyviews.com/include-vs-require/

Problemi correlati