Foros del Web » Programando para Internet » PHP »

guardar un doc rtf con php en una carpeta

Estas en el tema de guardar un doc rtf con php en una carpeta en el foro de PHP en Foros del Web. Buenas compañeros; Necesito generar un documento rtf con php, de momento lo he conseguido. y si ejecuto el fichero desde el navegador me sale abrir, ...
  #1 (permalink)  
Antiguo 02/09/2008, 05:55
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
guardar un doc rtf con php en una carpeta

Buenas compañeros;

Necesito generar un documento rtf con php, de momento lo he conseguido. y si ejecuto el fichero desde el navegador me sale abrir, guardar o cancelar. Hasta ahí no hay problema. Mi duda viene que no se como hacer para que cuando ejecuto ese codigo se me guarde ese fichero directamente en una carpeta sin preguntar nada. No se como hacerlo y no veo ejemplos que me ayuden a aclararme. El codigo que he generado es este:

Código PHP:

/* En los encabezados indicamos que se trata de un documento de MS-WORD
  y en el nombre de archivo le ponemos la extensión RTF.            */
header('Content-type: application/msword');
header('Content-Disposition: inline; filename=ejemplo.rtf'); 


/*  Comenzamos a armar el documento  */
$output="{\\rtf1";   //<-- Iniciamos un documento RTF

$output.= "{\\fs48 INFORME DE ENTREGA }"//<-- Texto de tamaño 48 para el Título
$output.= "\\par ";  //<-- ENTER       
$output.= "\\par ";  //<-- ENTER    

$output.= "{\\ul CCALL_01.00.00_BBDD_DATOS_002VEN}"//<-- Texto de tamaño 30 para el Subtítulo
$output.= "\\par ";  //<-- ENTER   
$output.= "\\par ";  //<-- ENTER      
 
 /*Primer parrafo*/
  
$output.= "{\\b Fecha de liberación en Maqueta:}"//<-- Poner negritas  
$output.= "{\\ 22/11/2007}.";
$output.= "\\par ";  //<-- ENTER  
$output.= "{\\b Subsistema afectado:}"//<-- Poner negritas  
$output.= "{\\ Collect Call (servicio de cobro revertido)}.";
$output.= "\\par ";  //<-- ENTER  
$output.= "{\\b Proceso afectado:}"//<-- Poner negritas  
$output.= "{\\ Carga de Datos de la de Base de Datos del ER}.";
$output.= "\\par ";  //<-- ENTER  
$output.= "{\\b Nivel de gravedad:}"//<-- Poner negritas  
$output.= "{\\ media}.";
$output.= "\\par ";  //<-- ENTER  
$output.= "{\\b CKSUM:}"//<-- Poner negritas  
$output.= "{\\ }";
$output.= "\\par ";  //<-- ENTER   

$output.= "{\\b Descripción funcional del parche:}"//<-- Poner negritas  
$output.= "{\\ Nueva entrega incremental de BBDD, que modifica la cadena de ABONADO_B a AbonadoB, que es la cadena oficial para el idLista del GesList.}.";
$output.= "\\par ";  //<-- ENTER  

$output.= "{\\b Base Mesa:}"//<-- Poner negritas  
$output.= "{\\ Nueva entrega incremental de BBDD, que modifica la cadena de ABONADO_B a AbonadoB, que es la cadena oficial para el idLista del GesList.}.";
$output.= "\\par ";  //<-- ENTER 
$output.= "\\par ";  //<-- ENTER   
    

$output.="}"//<-- Terminador del RTF

/*  Enviamos el documento completo a la salida  */
echo $output
Entiendo que al poner el echo $output; es lo que me hace que se me abra en el navegador dandome la posibilidad de abrir o guardarlo el documento, pero lo que quiero es que se me guarde directaemnte en una ruta que yo le diga. Pero no se como puedo hacerlo, alguien me puede dar alguna pista???????????????

Lo agradecería muchisimo!!! gracias de antemano
  #2 (permalink)  
Antiguo 02/09/2008, 14:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: guardar un doc rtf con php en una carpeta

Hola susaninhax,

Lamentablemente no puedes hacerlo ya que seria un grave problema de seguridad, y no hay forma de brincarlo ya que ese tipo de restricciones las pone el navegador y no PHP.

Saludos.
  #3 (permalink)  
Antiguo 03/09/2008, 07:28
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Pregunta Respuesta: guardar un doc rtf con php en una carpeta

Anda, que mala noticia pues me han pedido que al insertar un formulario me genere un rtf dinámico el cual se enviará al correo del usuario justo al finalizar el alta. Mi idea era que el rtf se generara pero se guardara en una carpeta temporal o lo que sea y en el correo poner la ruta a esa carpeta para que lo puedan ver desde el correo o adjuntarlo y enviarlo...

Entonces no se puede, josss he intentado investigar por medio de "file_put_contents("plantilla.rtf",$rtf);", quiero decir, usando file_put_contents, pero me dice que : "Warning: file_put_contents(plantilla.rtf) [function.file-put-contents]: failed to open stream: Permission denied in /home";

Pues si a nadie se le ocurre alguna manera me toca investigar como hacerlo pero por otro lado, pensé que se podria como los pdfs... que lio madre... tengo un cacao...

Muchisimas gracias por la contestación GatorV, te lo agradezco mucho

Un saludo a todos
  #4 (permalink)  
Antiguo 03/09/2008, 08:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: guardar un doc rtf con php en una carpeta

Si lo quieres guardar EN EL SERVIDOR, sí es posible, pero tienes que tener permisos de escritura en la carpeta que lo quieras guardar, pero solamente en el servidor, entonces ya lo puedes enviar vía correo electronico.

Repito necesitas guardarlo en el servidor usando file_put_contents, o fopen/fwrite/fclose, recuerda que debes de tener permisos de escritura en la carpeta que lo quieras guardar.

Saludos.
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 01:13.