¿Uso de php para guardar la salida de php como archivo html?

  • mindfullsilence
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ago 04, 2008
  • Mensajes: 846
  • Status: Offline

Nota Junio 5th, 2011, 11:58 pm

Esto es posible y si es así, ¿cómo lograrlo?

Tiene dos archivos:
  • /usr/home/comunidadwordpress.com/web/wp-admin/includes/Template.php
  • Convert.php

Convert.php necesita crear un tercer archivo llamado plantilla.HTML. Abrir plantilla.PHP y copiar el código html generado a plantilla.HTML, guarde el archivo y cerrar ambos.

¿Es esto posible? Si no, ¿podría guardar la salida de un archivo de php en un archivo html dinámicamente?
Use your words like arrows to shoot toward your goal.
  • Anonymous
  • Bot
  • No Avatar
  • Registrado: 25 Feb 2008
  • Mensajes: ?
  • Loc: Ozzuland
  • Status: Online

Nota Junio 5th, 2011, 11:58 pm

  • WritingBadCode
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Abr 28, 2011
  • Mensajes: 214
  • Loc: Sweden
  • Status: Offline

Nota Junio 6th, 2011, 6:44 am

mindfullsilence escribió:
Esto es posible y si es así, ¿cómo lograrlo?

Tiene dos archivos:
  • /usr/home/comunidadwordpress.com/web/wp-admin/includes/Template.php
  • Convert.php

Convert.php necesita crear un tercer archivo llamado plantilla.HTML. Abrir plantilla.PHP y copiar el código html generado a plantilla.HTML, guarde el archivo y cerrar ambos.

¿Es esto posible? Si no, ¿podría guardar la salida de un archivo de php en un archivo html dinámicamente?


Podría haber malinterpretado su pregunta ahora. Usted podría ofc tomar todas la salida (todas las variables que PHP quiere mostrar como html) y almacenarlo en una variable ($textIWantToInsert) y, a continuación, simplemente escribir en un archivo html:

Código: [ Select ]

<?php
$fileOne = "template.html";
$fileHandle = fopen($fileOne, 'w') or die("file could not be accessed/created");
$textIWantToInsert = "<h1>this is some text in my template.html file</h1>";
fwrite($fileHandle, $textIWantToInsert);
fclose($fileHandle);
//add chmod() ??
?>
  1. <?php
  2. $fileOne = "template.html";
  3. $fileHandle = fopen($fileOne, 'w') or die("file could not be accessed/created");
  4. $textIWantToInsert = "<h1>this is some text in my template.html file</h1>";
  5. fwrite($fileHandle, $textIWantToInsert);
  6. fclose($fileHandle);
  7. //add chmod() ??
  8. ?>


Código no muy agradable (pero Im seguro que puede cambiarlo.). Si desea que la información enviada desde convert.php a /usr/home/comunidadwordpress.com/web/wp-admin/includes/Template.php puede utilizar $_POST para pasar información entre archivos y permitir que /usr/home/comunidadwordpress.com/web/wp-admin/includes/Template.php crear el archivo template.html.

Otro si su servidor está ejecutando apache puede tener su .html y .htm se ejecuta como .php en carpetas específicas de este modo a los archivos .htaccess (y tal vez hacer los archivos .html recopilar información de una base de datos en su lugar):

Código: [ Select ]
AddType application/x-httpd-php .html .htm


o:

Código: [ Select ]
AddHandler application/x-httpd-php .html .htm


Bruja uno debe elegir dependen de su servidor web. A decir verdad que no he probado esto, sólo leer sobre ella. También existe la opción de un iFrame en el archivo html y cargar sólo algunos archivos de diferentes completley. :D O utilizar javascript (AJAX?) "dinámicamente" cargar el contenido.
  • mindfullsilence
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ago 04, 2008
  • Mensajes: 846
  • Status: Offline

Nota Junio 6th, 2011, 11:21 am

Tipo de eso es de lo contrario de lo que quiero. Necesito la salida de un archivo de php para copiar un archivo html.
Use your words like arrows to shoot toward your goal.
  • WritingBadCode
  • Graduate
  • Graduate
  • Avatar de Usuario
  • Registrado: Abr 28, 2011
  • Mensajes: 214
  • Loc: Sweden
  • Status: Offline

Nota Junio 6th, 2011, 12:07 pm

mindfullsilence escribió:
Tipo de eso es de lo contrario de lo que quiero. necesito la salida de un archivo de php para copiar un archivo html.


¿El código que publiqué tomar texto desde un archivo de php y crear o copiarlo que un archivo html, php salida puede almacenarse en varibles y pasó a un comando de fwrite() y, a continuación, se podría haber escrito por la salida de php (copiado) a un archivo html? Tal vez Im falta algo aquí. = O
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Junio 6th, 2011, 8:25 pm

Puede crear una solicitud de http a /usr/home/comunidadwordpress.com/web/wp-admin/includes/Template.php a través de convert.php y capturar su salida. Como se haría con cualquier otra página.

Código: [ Select ]
file_get_contents("http://yourserver.com/template.php");


Puede hacer lo mismo desde la línea de comandos utilizando ejec.

Código: [ Select ]
exec("/usr/bin/php /path/to/your/template.php 2>/dev/null > /path/to/your/template.html")
#define NULL (::rand() % 2)
  • mindfullsilence
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ago 04, 2008
  • Mensajes: 846
  • Status: Offline

Nota Junio 7th, 2011, 2:36 pm

Enfriar. ¿Pregunta, si tuviera que utilice esta opción con el contenido de un archivo local, la que php buscar localmente, o bucle al servidor?
Use your words like arrows to shoot toward your goal.
  • SpooF
  • ٩๏̯͡๏۶
  • Bronze Member
  • Avatar de Usuario
  • Registrado: May 22, 2004
  • Mensajes: 3415
  • Loc: Richland, WA
  • Status: Offline

Nota Junio 7th, 2011, 3:29 pm

Uso de file_get_contents necesita algo que ejecutará la secuencia de comandos a través de intérprete de php. Apache que para usted, puede hacer una llamada de localhost si su sólo ejecuta un solo sitio Web fuera de su servidor, de lo contrario necesita el nombre de dominio para asignar a un virtualhost.
#define NULL (::rand() % 2)
  • mindfullsilence
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ago 04, 2008
  • Mensajes: 846
  • Status: Offline

Nota Junio 7th, 2011, 6:10 pm

Ejecución en cuestión un poco aquí con file_get_contents.
El archivo original de php "/usr/home/comunidadwordpress.com/web/wp-admin/includes/Template.php" funciona bien. Extrae un archivo xml mediante simplexml algún tipo de contenido. Sin embargo, cuando me hago eco lo fuera en el archivo convert.php con este código:
PHP Código: [ Select ]
$newsletter_contents = file_get_contents("index.php");
echo $newsletter_contents;
 
  1. $newsletter_contents = file_get_contents("index.php");
  2. echo $newsletter_contents;
  3.  

Termina haciéndose eco el analizador xml donde debería estar el contenido dinámico. Por ejemplo:

Debe ser:
HTML Código: [ Select ]
<p>Some random text from xml node</p>
 
  1. <p>Some random text from xml node</p>
  2.  


Pero es, en su lugar:
HTML Código: [ Select ]
<p><?php echo $xml->channel->item[0]->description->div[4]->div->div->p; ?>
</p>
 
  1. <p><?php echo $xml->channel->item[0]->description->div[4]->div->div->p; ?>
  2. </p>
  3.  
Use your words like arrows to shoot toward your goal.
  • mindfullsilence
  • Professor
  • Professor
  • Avatar de Usuario
  • Registrado: Ago 04, 2008
  • Mensajes: 846
  • Status: Offline

Nota Junio 7th, 2011, 7:12 pm

Conseguí que funcione, necesita utilizar las funciones de búfer de salida.
Use your words like arrows to shoot toward your goal.

Publicar Información

  • Total de mensajes en este tema: 9 mensajes
  • Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 238 invitados
  • No puede abrir nuevos temas en este Foro
  • No puede responder a temas en este Foro
  • No puede editar sus mensajes en este Foro
  • No puede borrar sus mensajes en este Foro
  • No puede enviar adjuntos en este Foro
 
 

© 2011 Unmelted, LLC. Ozzu® es una marca registrada de Unmelted, LLC