Difencia entre "include" y "require"

Pakelo
09 de Noviembre del 2005
Saludos.
Alguien sabe cual es la diferencia entre include y require? en que casos conviene utilizar uno y en cuales el otro? y si tienen ventajas o iconvenientes...
gracias.

Pablo
09 de Noviembre del 2005
require() y include() son idénticas en todos los aspectos excepto en el modo de actuar ante un error. include() produce un Warning mientras que require() produce un Error Fatal. En otras palabras, no dude en utilizar require() si quiere que un fichero no encontrado cuelgue el procesamiento de la página. include() no se comporta de esta manera, el script seguirá funcionando de todas maneras. Asegurarse que include_path este configurado bien.

rargueso
09 de Noviembre del 2005
Exacto. Usa la variable de servidor $_SERVER["DOCUMENT_ROOT"] (en apache) si el archivo a incluir esta dentro del webroot:

include $_SERVER["DOCUMENT_ROOT"]."/includes/archivo.php"

asi evitas depender de la directiva include_path. Usando direccionamiento relativo puedes acceder a ficheros fuera del webroot:

include $_SERVER["DOCUMENT_ROOT"]."../includes/archivo.php"

En ISS tambien hay una variable de servidor, ahora mismo no te se decir cual es, pero desde un script con phpinfo() lo puedes ver.

pedro hernandez
09 de Noviembre del 2005
bgghsgnso v