Foros del Web » Programando para Internet » PHP »

¿Como hago un include para el preprocesador?

Estas en el tema de ¿Como hago un include para el preprocesador? en el foro de PHP en Foros del Web. Es decir, el include lee e incluye un archivo cuando se lo llama, pero lo que quiero es que incluya un archivo y que lo ...
  #1 (permalink)  
Antiguo 28/12/2009, 23:58
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Pregunta ¿Como hago un include para el preprocesador?

Es decir, el include lee e incluye un archivo cuando se lo llama, pero lo que quiero es que incluya un archivo y que lo lea como parte del código del archivo desde el cual se incluyó. A ver si me explico...

Necesito que haga como si el código estuviese ya puesto en el archivo, ya que sino lo que va a hacer es procesar el código incluido muchas veces :S.

¿Se entiende? -.-
Hay alguna función para eso? O tengo que usar includes? Alguien sabe como lo hace WordPress? xDDD

Última edición por ZequeZ; 06/01/2010 a las 11:12
  #2 (permalink)  
Antiguo 29/12/2009, 00:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: ¿Como hago un include para el preprocesador?

precisamente eso hace la instrucción include!!

por favor, consulta el manual
http://php.net/include

Edito: no entiendo muy bien lo de
Cita:
[...] como si el código estuviese ya puesto en el archivo [...] Alguien sabe como lo hace WordPress? [...]
- ¿puedes dar un ejemplo?
- ¿hacer que?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/12/2009, 01:12
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Como hago un include para el preprocesador?

En resumen, un include/require es un copy&paste de código. Hace exactamente lo que explicas.

Entonces, ¿cuál es el problema?; ¿qué código empleaste?, ¿qué hizo?, ¿qué no hizo?, ¿qué se supone debió de hacer?.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 29/12/2009, 01:18
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: ¿Como hago un include para el preprocesador?

puedes usar funciones aunque solo tengan codigo html, esto con la intencion de no usar include(si es a lo que te refieres)
__________________
...
  #5 (permalink)  
Antiguo 29/12/2009, 01:20
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Pregunta Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por jam1138 Ver Mensaje
En resumen, un include/require es un copy&paste de código. Hace exactamente lo que explicas.

Entonces, ¿cuál es el problema?; ¿qué código empleaste?, ¿qué hizo?, ¿qué no hizo?, ¿qué se supone debió de hacer?.
El problema es que si lo llamo muchas veces, incluye el archivo muchas veces, en vez de incluirlo una sola vez y después leer lo que ya se incluyó.

Ejemplo:

Esto, es mucho mas eficiente
Código PHP:
for($i=0;$i<100000;$i++){
echo 
"Hola";

Que esto:
Código PHP:
for($i=0;$i<100000;$i++){
include(
"ArchivoQueHaceEchoHola.php");

Ya que en el segundo caso, el "compilador" de PHP lee el archivo incluido 100000 veces y lo "compila" 100000. En cambio, en el segundo paso, solamente lee el comando una vez, y luego lo ejecuta 100000 veces.

Ahora se entiende lo que quiero decir? :S
  #6 (permalink)  
Antiguo 29/12/2009, 01:29
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: ¿Como hago un include para el preprocesador?

php no "compila" lo que hace es "interpretar" si lo que quieres haer es algo como incluir un header puedes hacerlo con el include fuera del for(blucle)

include("header.php");
for($i=0;$i<100000;$i++){
//funciones que tienen que ejecutarse 1000 veces
}
include("footer.php");
__________________
...
  #7 (permalink)  
Antiguo 29/12/2009, 01:41
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por zaetoner Ver Mensaje
php no "compila" lo que hace es "interpretar" si lo que quieres haer es algo como incluir un header puedes hacerlo con el include fuera del for(blucle)

include("header.php");
for($i=0;$i<100000;$i++){
//funciones que tienen que ejecutarse 1000 veces
}
include("footer.php");
Si, pero justamente lo que quiero es que se ejecute el contenido del include 100000 veces sin necesidad de "interpretar" el código 100000 veces, como si ese código estuviese ya incrustado dentro del "for".
  #8 (permalink)  
Antiguo 29/12/2009, 01:46
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: ¿Como hago un include para el preprocesador?

pues no se me ocurre una idea para hacer lo que quieres, si yo tubiera que hacer eso lo aria con include o con funciones, de la misma forma que ti planeabas
__________________
...
  #9 (permalink)  
Antiguo 29/12/2009, 01:58
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por ZequeZ Ver Mensaje
Si, pero justamente lo que quiero es que se ejecute el contenido del include 100000 veces sin necesidad de "interpretar" el código 100000 veces, como si ese código estuviese ya incrustado dentro del "for".
Pero esque PHP es un lenguaje interpretado ...

Estarás planteando mal la situación. --nuevamente-- Deberías mostrar código qué estás haciendo y qué funciona o no funciona.

Quizá, querrás hacer uso de alguna función. Podrás definirla en un archivo independiente, incluirlo una sola vez, quedará definida y disponible y podrás invocarla cuantas veces quieras... ¿quizá?

Código PHP:
Ver original
  1. <?php
  2.  
  3. include 'algunaFuncion.php'; // Definición e inclusión -- function algunaFuncion();
  4.  
  5. for ($i = 0; $i < 1000; $i++) {
  6.     algunaFuncion(); // invocación
  7. }
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #10 (permalink)  
Antiguo 29/12/2009, 02:07
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por jam1138 Ver Mensaje
Pero esque PHP es un lenguaje interpretado ...

Estarás planteando mal la situación. --nuevamente-- Deberías mostrar código qué estás haciendo y qué funciona o no funciona.

Quizá, querrás hacer uso de alguna función. Podrás definirla en un archivo independiente, incluirlo una sola vez, quedará definida y disponible y podrás invocarla cuantas veces quieras... ¿quizá?

Código PHP:
Ver original
  1. <?php
  2.  
  3. include 'algunaFuncion.php'; // Definición e inclusión -- function algunaFuncion();
  4.  
  5. for ($i = 0; $i < 1000; $i++) {
  6.     algunaFuncion(); // invocación
  7. }

Si, pero estoy armando un CMS, y la idea sería mantener los templates solo con HTML y las llamadas a las funciones para escribir el contenido... Sino, la otra opción que me queda es hacerlo como PHPBB y leer el archivo y reemplazar tags especiales con los contenidos...

Sino le voy a tener que preguntar a los de Wordpress como hacen, porque la verdad que no da revisar 20000 lineas de código xDDD.
  #11 (permalink)  
Antiguo 29/12/2009, 02:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por ZequeZ Ver Mensaje
Sino le voy a tener que preguntar a los de Wordpress como hacen [...]
Lo hacen tal cual lo digo: definen un bonche de funciones, se incluyen durante todo el procesado de la petición, las utilizas donde quieras.

http://codex.wordpress.org/Function_...ns_by_category

Código PHP:
Ver original
  1. <html><head>
  2. <title><?php echo the_title(); ?></title>
  3. </head>
  4. <body>
  5. <?php echo the_post(); ?>
  6. </body>
  7. </html>
  8. <!-- Estoy inventando el nombre de las funciones -->

Se declaran en alguna parte, se invocan donde se necesiten. No más ...

... y, esta manera de codificación de WP es precisamente muy criticada. Hacen uso de muchas variables globales, es un código un tanto complicado de mantener. Personalmente no optaría por seguir esta metodología.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #12 (permalink)  
Antiguo 29/12/2009, 14:15
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
De acuerdo Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por jam1138 Ver Mensaje
Lo hacen tal cual lo digo: definen un bonche de funciones, se incluyen durante todo el procesado de la petición, las utilizas donde quieras.

http://codex.wordpress.org/Function_...ns_by_category

Código PHP:
Ver original
  1. <html><head>
  2. <title><?php echo the_title(); ?></title>
  3. </head>
  4. <body>
  5. <?php echo the_post(); ?>
  6. </body>
  7. </html>
  8. <!-- Estoy inventando el nombre de las funciones -->

Se declaran en alguna parte, se invocan donde se necesiten. No más ...

... y, esta manera de codificación de WP es precisamente muy criticada. Hacen uso de muchas variables globales, es un código un tanto complicado de mantener. Personalmente no optaría por seguir esta metodología.
Pero cuando se ejecuta la función, también se incluiria el archivo -.-

Bueno, no importa, no creo que sea tan malo incluir un archivo 10 veces cada vez que se carga la página, la compu puede con eso xD.

Gracias de todos modos xD
  #13 (permalink)  
Antiguo 29/12/2009, 16:22
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por ZequeZ Ver Mensaje
Pero cuando se ejecuta la función, también se incluiria el archivo -.-
¿¿¿??? ... ¿por el hecho de invocar la función?; ¡claro que no!. ¿Por qué habría de?.

Tienes que hacer el requerimiento del archivo en donde está definida la función, eso lo tendrás que hacer una sola vez (y creo ya antes había subrayado lo mismo) y podrás llamar a la función cuantas veces quieras en donde lo requieras.

Es básico y simple. No entiendo dónde está la confusión/complicación... o de plano no estoy entendiendo tu punto ...


Cita:
Iniciado por jam1138 Ver Mensaje
Lo hacen tal cual lo digo: definen un bonche de funciones, se incluyen durante todo el procesado de la petición, las utilizas donde quieras.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #14 (permalink)  
Antiguo 29/12/2009, 16:45
Avatar de JoseTejada  
Fecha de Ingreso: diciembre-2007
Ubicación: Peru.Lima.Cercado.MDuarez.Granaderos172
Mensajes: 218
Antigüedad: 16 años, 4 meses
Puntos: 11
Respuesta: ¿Como hago un include para el preprocesador?

Y si generas 10000 veces lo que quieres en un archivo y luego recien lo incluyes??, es decir:

contenido del archivo "ArchivoQueHaceEchoHola.php"
Código PHP:
for($i=0;$i<100000;$i++){
echo 
"Hola";

Y luego en tu "index.php" (por ejemplo) haces un include:
Código PHP:
include("ArchivoQueHaceEchoHola.php"); 
Solucionará tu problema??...espero q sí...
  #15 (permalink)  
Antiguo 31/12/2009, 00:24
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
De acuerdo Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por jam1138 Ver Mensaje
¿¿¿??? ... ¿por el hecho de invocar la función?; ¡claro que no!. ¿Por qué habría de?.

Tienes que hacer el requerimiento del archivo en donde está definida la función, eso lo tendrás que hacer una sola vez (y creo ya antes había subrayado lo mismo) y podrás llamar a la función cuantas veces quieras en donde lo requieras.

Es básico y simple. No entiendo dónde está la confusión/complicación... o de plano no estoy entendiendo tu punto ...
Mmmm... Entonces...

Esto no llama 100000 veces al archivo:
Código PHP:
function incluir(){
include(
'archivo.php');
}

for(
$i=0;$i<100000;$i++)
incluir(); 
Y esto si?
Código PHP:
for($i=0;$i<100000;$i++)
include(
'archivo.php'); 

No lo intepretaría 100000 veces de cualquiera de los dos modos? :S

Cita:
Iniciado por JoseTejada Ver Mensaje
Y si generas 10000 veces lo que quieres en un archivo y luego recien lo incluyes??, es decir:

contenido del archivo "ArchivoQueHaceEchoHola.php"
Código PHP:
for($i=0;$i<100000;$i++){
echo 
"Hola";

Y luego en tu "index.php" (por ejemplo) haces un include:
Código PHP:
include("ArchivoQueHaceEchoHola.php"); 
Solucionará tu problema??...espero q sí...
Si, eso lo solucionaría, pero es lo que quiero evitar, ya que al ser un CMS la idea es mantener separados los templates del resto del programa :P.

Última edición por ZequeZ; 31/12/2009 a las 00:30
  #16 (permalink)  
Antiguo 31/12/2009, 11:01
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Como hago un include para el preprocesador?

¿¿¿??? pero esto es una broma ¿no?...

Ya lo repetí varias veces. Si de verdad no lo haz comprendido, por favor re-lee; no lo voy a volver a decir. Jamás mencioné código como el que comparas, pero, contestando a tu pregunta, sí, harían lo mismo.

Si quieres seguir con el tema, por favor, coloca código. Desde el principio sugerí lo hicieras especificando cuál es tu problema. Si no alcanzas a comprender lo que menciono, crear un CMS te costará mucho, en verdad.

Sin más, un saludo y feliz año nuevo .
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #17 (permalink)  
Antiguo 31/12/2009, 12:39
 
Fecha de Ingreso: enero-2008
Mensajes: 381
Antigüedad: 16 años, 3 meses
Puntos: 19
Respuesta: ¿Como hago un include para el preprocesador?

No entiendo muy bien lo que quieres hacer, pero segun tu ejemplo si quieres evitar que php lea el archivo tantas veces podrias hacer esto:

Código PHP:
$contenido file_get_contents('archivo.php');

for(
$i=0;$i<100000;$i++)
  eval(
$contenido); 
Pero no se muy bien que pretendes...

Saludos
  #18 (permalink)  
Antiguo 31/12/2009, 15:17
 
Fecha de Ingreso: enero-2007
Ubicación: Los Angeles, Chile
Mensajes: 28
Antigüedad: 17 años, 3 meses
Puntos: 2
Respuesta: ¿Como hago un include para el preprocesador?

yo creo que con algo asi es muuucho mas simple y es realmente lo que deberias hacer

archivo.php
Código PHP:
Ver original
  1. function mostrar(){
  2.     echo "Hola";
  3. }

otro.php
Código PHP:
Ver original
  1. include("archivo.php");
  2.  
  3. for($i=0;$i<100000;$i++){
  4.    mostrar();
  5. }
  #19 (permalink)  
Antiguo 31/12/2009, 15:32
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: ¿Como hago un include para el preprocesador?

:S pq nadie simple y llanamente le dice que use
include_once en ves de include..
asi si ya esta incluido no lo volvera a agregar..

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #20 (permalink)  
Antiguo 31/12/2009, 17:11
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ¿Como hago un include para el preprocesador?

me canse de leer y no se bien que queres hacer, ni tampoco como esta tu codigo de mal armado, pero tampoco interesa
si queres que un archivo no se incluya mas de una vez utiliza en lugar de include() la funcion include_once()

include_once("tuarchivo.php");
  #21 (permalink)  
Antiguo 01/01/2010, 13:37
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Respuesta: ¿Como hago un include para el preprocesador?

Ahhh nadie me entiende =/

Bueno, les explico. Hice un "experimento":

Hacer esto:

archivo.php
Código PHP:
<?php
echo '0';
?>
index.php
Código PHP:
<?php
    
for($i=0;$i<1000000;$i++){
        if(
$i &#37; 200 == 0)
            
echo '<br>';
        include(
'archivo.php');
    }
?>
Demora muchísimo mas tiempo que hacer esto:

Código PHP:
<?php
    
for($i=0;$i<1000000;$i++){
        if(
$i 200 == 0)
            echo 
'<br>';
        echo 
'0';
    }
?>
Entonces, si es lo mismo hacer una cosa que la otra... Como es que incluir el archivo un millón de veces demora alrrededor de 30 segundos y hacer un echo '0' demora 1 segundo? ¬¬

Hagan la prueba en sus computadoras (No lo hagan en un servidor ajeno que los hechan a la mierda xDDD).

Es verdad que en la práctica dificilmente incluyas un archivo un millón de veces... Pero el punto de esto es que solo quiero que evalue el archivo 1 vez, y no cada vez que pasa por el "for". Ya que efectivamente la computadora no está tardando 30 segundos en incluir UNA VEZ el archivo, lo está incluyendo 1 millón de veces...

Última edición por ZequeZ; 01/01/2010 a las 13:52
  #22 (permalink)  
Antiguo 01/01/2010, 14:15
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 17 años, 10 meses
Puntos: 19
Respuesta: ¿Como hago un include para el preprocesador?

ahhhhhhhhh (realmente no se porque queres hacer esto, pero podrias solucionarlo asi

Código PHP:
Ver original
  1. <?php
  2.     $ya_leido = false;
  3.     for($i=0;$i<1000000;$i++){
  4.         if($i &#37; 200 == 0)
  5.            echo '<br>';
  6.             if($ya_leido === false)
  7.             {
  8.                 $contenido = file_get_contents('archivo.php');
  9.                 $ya_leido = true;
  10.             }
  11.             eval($contenido);
  12.     }
  13. ?>

De todas formas, siempre vas a tener un consumo de recursos mayor utilizando eval en este caso, y abriendo al menos una vez el archivo, que si hicieras echo 0!

No es lo mismo para el interprete ejecutar echo 0, que incluir un archivo por cada vuelta!


Claro que hay mil formas de llegar a un mismo resultado!.... Vos podes llegar al almacen de tu barrio caminando por la vereda, dando 3 vueltas a la manzana, o saltando por arriba de los techos de las casas!....

Uno busca la forma mas optima de hacerlo!

Saludos!
  #23 (permalink)  
Antiguo 01/01/2010, 23:38
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por ZequeZ Ver Mensaje
Entonces, si es lo mismo hacer una cosa que la otra... Como es que incluir el archivo un millón de veces demora alrrededor de 30 segundos y hacer un echo '0' demora 1 segundo? ¬¬
El resultado final es igual, más OBVIAMENTE, NO ES LO MISMO. Es diferente código, hace diferentes cosas. Cuando incluyes un archivo estás accediendo al sistema de archivos del SO, verificando exista, sea leíble, parseo del código ... obviamente va a tardar más!; no hay necesidad de hacer ninguna prueba, solo basta analizarlo.


Cita:
Iniciado por ZequeZ Ver Mensaje
Pero el punto de esto es que solo quiero que evalue el archivo 1 vez, y no cada vez que pasa por el "for". Ya que efectivamente la computadora [...] lo está incluyendo 1 millón de veces...
Si en tú código pones un include dentro de un for es porque estás diciendo que incluya el archivo dentro de ese for. La computadora solo hace lo que le dices.

Nuevamente, es bastánte simple. ¿cuál es tu problema?
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #24 (permalink)  
Antiguo 06/01/2010, 11:07
 
Fecha de Ingreso: mayo-2008
Ubicación: En la guarida del mal, tratando de conquistar el mundo
Mensajes: 174
Antigüedad: 16 años
Puntos: 2
Respuesta: ¿Como hago un include para el preprocesador?

Cita:
Iniciado por jam1138 Ver Mensaje
El resultado final es igual, más OBVIAMENTE, NO ES LO MISMO. Es diferente código, hace diferentes cosas. Cuando incluyes un archivo estás accediendo al sistema de archivos del SO, verificando exista, sea leíble, parseo del código ... obviamente va a tardar más!; no hay necesidad de hacer ninguna prueba, solo basta analizarlo.



Si en tú código pones un include dentro de un for es porque estás diciendo que incluya el archivo dentro de ese for. La computadora solo hace lo que le dices.

Nuevamente, es bastánte simple. ¿cuál es tu problema?
Si, pero yo quiero que lo incluya, lo lea, y lo evalue 1 sola vez, y que después lo ejecute 1000000 de veces, y por mucho que se tarde en leer el archivo, nunca va a tardar 20 segundos en hacerlo, es ridículo, por lo que te lleva a pensar que lo que está haciendo es leer, evaluar y ejecutar el archivo 1000000 veces... (Las 3 cosas 1000000 de veces...)


Cita:
Iniciado por korg1988 Ver Mensaje
ahhhhhhhhh (realmente no se porque queres hacer esto, pero podrias solucionarlo asi

Código PHP:
Ver original
  1. <?php
  2.     $ya_leido = false;
  3.     for($i=0;$i<1000000;$i++){
  4.         if($i % 200 == 0)
  5.             echo '<br>';
  6.             if($ya_leido === false)
  7.             {
  8.                 $contenido = file_get_contents('archivo.php');
  9.                 $ya_leido = true;
  10.             }
  11.             eval($contenido);
  12.     }
  13. ?>

De todas formas, siempre vas a tener un consumo de recursos mayor utilizando eval en este caso, y abriendo al menos una vez el archivo, que si hicieras echo 0!

No es lo mismo para el interprete ejecutar echo 0, que incluir un archivo por cada vuelta!


Claro que hay mil formas de llegar a un mismo resultado!.... Vos podes llegar al almacen de tu barrio caminando por la vereda, dando 3 vueltas a la manzana, o saltando por arriba de los techos de las casas!....

Uno busca la forma mas optima de hacerlo!

Saludos!
Si, ya se que se puede hacer así, pero el problema es que hay que tener separado el template del código, por lo que lo que incluya el archivo no puede tener declaración de funciones ni nada parecido xD.



Bueno, no importa... Ya le voy a encontrar la vuelta a la manera mas eficiente de hacerlo...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:25.