Cómo creo un archivo de texto con formato desde PHP
5 seguidores
Saludos
Necesito crear un archivo de texto con formato desde php, es decir, que pueda escribir en negrita, o darle color a la fuente etc...
Saludos
Necesito crear un archivo de texto con formato desde php, es decir, que pueda escribir en negrita, o darle color a la fuente etc...
Seguro que tienes mucho que decir, te estamos esperando.
pepevi
¿En qué formato quieres escribir? Porque conozco un ejemplo de archivo de texto con formato:
<code>Hola <strong>carabola</strong></code>
xD
eljulilopez
asi no me funciona...
ese codigo es de html yo necesito darle formato a un archivo .doc desde php
dagi3d
si necesitas crear un documento word con php, lo más fácil es crear un documento html con la extensión .doc y éste te lo abrirá sin problemas
eljulilopez
<code>$fd=fopen("HojadeVida.doc","w");
$body = "Hola <strong>amigo</strong><br>";
$body .= "probando <i>PHPMailer<i>.<br><br>";
$body .= "<font>Saludos</font>";
fputs($fd,$body);
fclose($fd);</code>
al abrir el archivo sale así:
<code>
Hola <strong>amigo</strong><br>probando <i>PHPMailer<i>.<br><br><font>Saludos</font></code>
no queda con el formato de texto que se establecio en el body
isma
Tendrás que hacer un archivo de texto enriquecido (RTF). No se si PHP dispone de librerías para hacer eso.
¿Porque no te haces PDFs? que hay por ahí librerías gratuitas que están muy bien. Hay una, DOMPDF que te convierte un HTML en PDF. Te puedes currar un HTML con 'strongs', imagenes y todo lo que quieras y luego pasarlo, esta genial.
Edito: aqui tienes una clase RTF_class y esto supongo que sean unas librerías RTF Generator (no gratuitas creo).
zigotica
¿seguro que no es mejor forzar el content type?
<code>
Header("Content-type: application/vnd.ms-word");
Header("Content-Disposition: filename=prueba.doc");
</code>
dagi3d
prueba creando un documento html 'completo' (hay algunas etiquetas que empiezan mal aposta porque si no los atributos no salían)
<code>
[html xmlns:w="urn:schemas-microsoft-com:office:word">
<head>
<title>Noticias WAP - Revista de la semana</title>
<xml>
[o:DocumentProperties>
[o:Author>autor</o>
[/o:DocumentProperties>
</xml>
<style>
h1{font:14pt arial,sans-serif}
h2{font:14pt arial,sans-serif}
p{font:12pt arial,sans-serif}
</style>
</head>
<body>
</body>
</html>
</code>
pepevi
zigotica
¿seguro que no es mejor forzar el content type?
<code>
Header("Content-type: application/vnd.ms-word");
Header("Content-Disposition: filename=prueba.doc");
</code>
Eso serviría para servir ficheros doc, no para crearlos en servidor, como parece que es el fin aquí.
zigotica
ya pero igual no es imperativo y de fácil no se les había ocurrido... la pregunta es "Cómo creo un archivo de texto con formato desde PHP", no "Cómo guardo en servidor un archivo de texto con formato generado desde PHP"
pepevi
Tampoco habría estado mal añadir que se trataba de un .doc y no de cualquier archivo de texto con formato xDD
Creo que la moraleja del hilo, Julio, es que no uses doc si puedes...
eljulilopez
Ese es el punto un archivo .DOC
desde php CON FORMATO
que me permita sobreEscribir.
que lo pueda guardar en el servidor y enviarlo como Adjunto a un correo
dagi3d
eljulilopez, si haces como te he indicado podrás hacer eso. vamos, yo eso lo estoy haciendo así en una aplicación donde por necesidad hay que enviar la información en un fichero que el usuario va a abrir en el word y sin ningún problema hasta ahora
eso sí, una vez añadas contenido desde el word, éste te meterá más etiquetas y mas guarrería aunque tan sólo añadas un punto y coma.
pepevi
Lo ideal entonces sería que una vez encontrases la forma de generar el doc, en vez de guardarlo en un fichero (a no ser que lo vayas a reutilizar), lo añadas directamente como adjunto al email.
Léete documentación al respecto de cómo adjuntar archivos generados al vuelo.