Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/06/2005, 08:06
Avatar de jpogsistem
jpogsistem
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.405
Antigüedad: 22 años, 4 meses
Puntos: 4
generando Archivos RTF con PHP

Que tal Maestros,

Estoy probando un script de este site, donde se genera un .RTF y se le asignan datos dinámicamente de una B.D. Mysql:

http://www.desarrolloweb.com/articul...6.php?manual=6

El código es éste:

Código PHP:
<?
//Funcion que lee un archivo de texto y lo mete en una cadena
function leef ($fichero) {
    
$texto file($fichero);
    
$tamleef sizeof($texto);
    for (
$n=0;$n<$tamleef;$n++) {$todo$todo.$texto[$n];}
    return 
$todo;
}


//funcion que genera un rtf
function rtf($sql$plantilla$fsalida$matequivalencias){
$pre=time();
$fsalida="/rtf/".$pre.$fsalida;
mysql_connect("localhost""root""");
//Paso no 1.-Leo una plantilla rtf
$txtplantilla leef($plantilla);
//Paso no.2 Saca cabecera, el cuerpo y el final
$matriz=explode("sectd"$txtplantilla);
$cabecera=$matriz[0]."sectd";
$inicio=strlen($cabecera);
$final=strrpos($txtplantilla,"}");
$largo=$final-$inicio;
$cuerpo=substr($txtplantilla$inicio$largo);
//Paso no.3 Escribo el fichero
$punt fopen($fsalida"w");
fputs($punt,$cabecera);
$result mysql("usuarios"$sql);
While(
$row=mysql_fetch_object($result)){
      
$despues=$cuerpo;
      foreach (
$matequivalencias as $dato) {
      
$datosql=$row->$dato[1];
      
$datosqlstripslashes ($datosql);
      
$datortf=$dato[0];
      
$despues=str_replace($datortf,$datosql,$despues);
    }
    
fputs($punt,$despues);
      
$saltopag="\par \page \par";
    
fputs($punt,$saltopag);
}
fputs($punt,"}");
fclose ($punt);
return 
$fsalida;
}

$plantilla "plantilla.rtf";
$sql "SELECT nombre, municipio from usuarios";
$equivalencias[0][0]="#*nombre*#";
$equivalencias[0][1]="nombre";
$equivalencias[1][0]="#*sitio*#";
$equivalencias[1][1]="municipio";
$salida rtf($sql$plantilla"certificado.rtf"$equivalencias);
$salida ="<A href='$salida'>Obtener</a>";
echo 
"<p>$salida</p>";
?>

La cuestión es que me sale los siguientes Warnings:

Código PHP:
Warningfputs(): supplied argument is not a valid stream resource in documento.php on line 37

Warning
fputs(): supplied argument is not a valid stream resource in documento.php on line 39 
Osea en:

Código PHP:
Linea 37   fputs($punt,$despues);
Linea 38   $saltopag="\par \page \par";
Linea39    puts($punt,$saltopag); 
He cambiado Fputs por Fwrite pero sale lo mismo.

Igualemnte el archivo .RTF no se genera y en la página documento.php se linkea el supuesto rtf como http://localhost/rtf/1118844467certificado.rtf

Por qué la numeración 1118844467certificado.rtf ???


Saludos y Gracias, el resolver esto me parece interesante.
__________________
EL LIMITE ES EL UNIVERSO