Foros del Web » Programando para Internet » PHP »

Reemplazo de caracteres en archivo RTF

Estas en el tema de Reemplazo de caracteres en archivo RTF en el foro de PHP en Foros del Web. Buenas tardes, segui un tutorial sobre como reemplazar palabras en un archivo RTF y lo implemente con existo, la primera vez que lo ejecute funciono ...
  #1 (permalink)  
Antiguo 19/01/2012, 17:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 242
Antigüedad: 14 años, 11 meses
Puntos: 2
Pregunta Reemplazo de caracteres en archivo RTF

Buenas tardes, segui un tutorial sobre como reemplazar palabras en un archivo RTF y lo implemente con existo, la primera vez que lo ejecute funciono bien, reemplazo todas las palabras que tenia que reemplazar pero decidi cambiar de nombre las variables o palabras que se reemplazan en el archivo y ya no funciono ya no reemplaza nada, si me genera el archivo pero tal cual como el original sin ningun reemplazo y no logro saber porque, aqui el codigo:

Código PHP:
public function imprimirConstancia(){//Inicio sección imprimirConstancia
        
        
$idMaestro $_POST['id'];
        
$equivalencias = array();
    
        
$maestro $this->consulta("SELECT maestros.nombre,maestros.num_constancia,maestros.fecha_alta,maestros.fecha_asesoria_desde,configuraciones.auxiliar_extension FROM maestros INNER JOIN configuraciones ON 1 = configuraciones.idConfiguracion WHERE idMaestro = '".$idMaestro."'");
        
$resultMaestro $this->fetch_array($maestro);
        foreach(
$resultMaestro as $rowMaestro):
          
$equivalencias[0][0] = "#*NUMCONSTANCIA*#";
          
$equivalencias[0][1] = $rowMaestro['num_constancia'];
          
$fechaAlta explode("-",$rowMaestro['fecha_alta']);
          
$equivalencias[1][0] = "#*FECHA*#";
          
$equivalencias[1][1] = $fechaAlta[2]."/".$fechaAlta[1]."/".$fechaAlta[0];
          
$equivalencias[2][0] = "#*MAESTRO*#";
          
$equivalencias[2][1] = $rowMaestro['nombre'];
          
$equivalencias[3][0] = "#*HORAS*#";
          
$equivalencias[3][1] = "130";
          
$fechaDesde explode("-",$rowMaestro['fecha_asesoria_desde']);
          
$equivalencias[4][0] = "#*FECHADESDE*#";
          
$equivalencias[4][1] = $fechaDesde[2]."/".$fechaDesde[1]."/".$fechaDesde[0];
          
setlocale(LC_TIME'spanish');
          
$fechaActual strftime('%d de %B de %Y'strtotime(date("Y-m-d"))); 
          
$equivalencias[5][0] = "#*LETRASFECHA*#";
          
$equivalencias[5][1] = "pruebas";
          
$equivalencias[6][0] = "#*AUXILIAREXTENSION*#";
          
$equivalencias[6][1] = $rowMaestro['auxiliar_extension'];
        endforeach;
        
        
$this->generarRTF($equivalencias,"constancia_maestros.rtf","constancia_maestros_salida.rtf");
     }
//Fin sección imprimirConstancia



public function generarRTF($equivalencias,$nombreArchivoOrigen,$nombreArchivoSalida){//Inicio seccion generarRTF
        //Ruta de archivos
        
$archivoOrigen $this->baseURLAbsoluta.'archivosRTF/'.$nombreArchivoOrigen;
        
$archivoSalida $this->baseURLAbsoluta.'archivosRTF/'.$nombreArchivoSalida;
        
//Obtenemos el contenido del archivo
        
$texto '';
        
$texto file_get_contents($archivoOrigen);
        
//Obtenemos cabecera del archivo
        
$matriz explode("sectd",$texto);
        
$cabecera $matriz[0]."sectd";
        
$inicio strlen($cabecera);
        
$final strrpos($texto,"}");
        
$largo $final $inicio;
        
$cuerpo substr($texto,$inicio,$largo);
        
//Escribir en el fichero
        
$punt fopen($archivoSalida,"w");
        
fputs($punt,$cabecera);
        
$despues '';
        
$despues $cuerpo;
        
$i 0;
        while(
$i <= count($equivalencias) - 1){
          
$datoSql stripslashes(strtoupper(utf8_decode($equivalencias[$i][1])));
          
$datoRtf $equivalencias[$i][0];
          
$despues str_replace($datoRtf,$datoSql,$despues);
          
$i++;
        }
        
//Terminamos de crear el fichero de salida
        
fputs($punt,$despues);
        
fputs($punt,"}");
        
fclose($punt);
        
      }
//Fin seccion generarRTF 
  #2 (permalink)  
Antiguo 19/01/2012, 18:36
 
Fecha de Ingreso: mayo-2009
Mensajes: 242
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: Reemplazo de caracteres en archivo RTF

En vista del exito obtenido creo que me respondere solo ... Estuve haciendo prueba y lo que paso fue lo siguiente, en el archivo original las variables a reemplazar como por ejemplo #*NUMCONSTANCIA*# yo las copie de mi archivo php y las pegue en el archivo original, no se que pase en el archivo RTF que al realizarlo de esa manera, no hace el reemplazo, tube que escribirlo a mano cada una de las variables a reemplazar, bueno aqui les dejo esto por si a alguien algun dia antes de que llegue el 23 de diciembre del 2012 le sucede .............................Mentira no creo que se acabe el mundo durara mas este post.

Etiquetas: caracteres, reemplazo, rtf, sql, variables
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 00:43.