Re: require

From: Date: Fri, 21 May 2004 16:49:48 +0000
Subject: Re: require
References: 1 2 3  Groups: php.general.es 
Request: Send a blank email to general-es+get-48757@lists.php.net to get a copy of this message
Hola, .... Hmm, desde un punto lógico y sin siquiera leer documentación de PHP, es ilógico pensar en que si yo uso un include para incluir un archivo mediante un URL, éste se vaya a incluir en mi página PHP como si lo hubiese hecho dentro del mismo server, con un archivo local y usando una ruta del sistema de archivos del server. No es cuestión de que "no es una buena idéa hacer eso con require o include, por una cuestión de compatibilidad", es que sencillamente si yo incluyo un archivo que está en otro server, lo que ha de incluírseme en mi página es el resultado de la ejecución de la página que estoy incluyendo, más no el código PHP que contiene la página. Porqué? Muy sencillo, al hacer la petición del archivo con un "http://..." lo que estoy haciendo es pidiéndole al programa que sirve las páginas web del otro servidor que me entregue dicha page (digamos que sea un PHP). Obviamente que el servidor en mención NO me va a entregar el código PHP (así haga el llamado desde un script de PHP en mi server), si no el resultado de haber ejecutado ese código en el servidor de él. Si eso se pudiera, pues habríamos encontrado la forma de robar claves de la forma más obvia y elemental con PHP. En cuanto a fopen y lo otro, pues no tiene aplicación para la pregunta inicial. Lo que quería dejar claro es que si se usa un include con un URL, se regresa es el resultado de la ejecución de esa page que se pidió, más no el código fuente. Si se hace usando el sistema de ficheros local, sí se incuirá el código PHP y no el resultado de la ejecución de dicho código, pues éste estará a cargo de nuestro servidor web, cuando interprete nuestra page. Nota: No sirve incluir una page usando URL así esté en nuestro propio server, por que, de nuevo, lo que incluiremos será lo que nuestro propio servidor web genere luego de haber ejecutado esa page que le pedimos. Nota2: Otra aclaración... si lo que se quiere es incluir una page que no tenga código PHP embebido, pues ahí si tendría sentido usar el include con URL, pues lo que se incluye es texto plano, no sentencias a interpretarse. Con respecto a: http://ar2.php.net/manual/es/function.include.php, antes del ejemplo 11-5, y antes del "Aviso", ese último párrafo confirma claramente lo que acabo de decir (que encontré luego de recibir el mensaje donde se contradecía mi explicación): "Esto no es lo mismo que incluir un fichero y que este fichero herede las variables del fichero padre; el script es ejecutado en el servidor remoto y el resultado es incluido en en script local. " Éxitos y felicidades! Andrés Sayago "Pablo E. Siciliano" wrote: > > Eso no es así, por lo menos en PHP (Y por lo que se, en asp tampoco, donde > lo que se hace es un include del tipo SSI, que puede trabajar con ambos > tipos de direcciones) > > fopen puede desde hace rato usarse para simular un get, y es lo que el > manual sugiere para trabajar con archivos remotos. > http://ar2.php.net/manual/es/features.remote-files.php > > En cuanto a include y require, fijate en la documentación > http://ar2.php.net/manual/es/function.include.php , en el > ejemplo 11-5 > Esto no siempre fué, pero ahora se puede. > > A mi entender, no es una buena idéa hacer eso con require o include, por > una cuestión de compatibilidad (Siempre podés toparte con una versión de PHP > que no soporte estas cosas y por variados motivos no poder cambiarla), y > porque tenés que dejar visibles tus bibliotecas en la web, pero eso no > implica que PHP no soporte este tipo de inclusiones. > > ----- Original Message ----- > From: "Andrés Sáyago" <asath@colombialinux.org> > To: "Igor" <igor@dualia.es> > Cc: "'phpes'" <php-es@lists.php.net> > Sent: Friday, May 21, 2004 11:38 AM > Subject: Re: [PHP-ES] require > > > No precisamente que estés usando una relación relaiva, la explicación es > > que los requiere, include, fopen y demás funciones del sistema de > > archivos, en general de todos los scripts que se ejecutan en los > > servidores (PHP, Jsp, Asp, etc.) deben llevar como ruta una dirección > > del sistema de archivos en el servidor, no en la web. > > -- > PHP Spanish Localization Talk Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php

« previous php.general.es (#48757) next »