Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/02/2005, 10:51
yamakasiz
 
Fecha de Ingreso: febrero-2002
Mensajes: 139
Antigüedad: 22 años, 2 meses
Puntos: 0
Weno hago un for desde 0 hasta el final del fichero, y mediante expldoe recojo linea a linea y busco en cada 1 el numero de mes, si no existe es que esa linea tiene una fecha erronea. Si es erronea hacemso uso de la funcion para buscar fechas, pero con $parte-1 es decir para la linea anterior, y asi disponer de una fecha buena. Luego hacemso uso de la funcion en esa linea y lozalizada la fecha erronea la cambiamos pro la fecha de la linea anterior y guardamos cambios.

Pero no me funciona :( hace una ejecucion muy rapido (cosa extraña ya que sin este fragmento de codigo tarda un par de segundos en ejecutarse el script) y no realiza ningun cambio :(


la fucnion para buscar als fechas es :
function busco_fechas($criterio,$string)
{
$buscar[0]=strtoupper($criterio);
$buscar[1]=strtolower($criterio);
$buscar[2]=ucfirst($buscar[1]);
//$patron="/(<[h|H]1[A-Za-z0-9 \"=]*> )(.*)(".$buscar[0]."|".$buscar[1]."|".$buscar[2].")(.*)(</[h|H]1> )/";
$busqueda=preg_match_all("/(<BR>)(.*)(".$buscar[0]."|".$buscar[1]."|".$buscar[2].")(.*)(<\/a>)/",$string,$salida);$resultado['cuantos']=count($salida[0]);
foreach ($salida[0] as $valor)
{
$resultado["textos"][]=$valor;
}
return $resultado;
}
//leo galerias.txt
$file = "galerias.txt";
$arr = file($file);

for ( $i = 0 ; $i < sizeof($arr) ; $i++ )
{
$arr[$i] = $arr[$i];
}
$contenido = implode("", $arr);
$fp = fopen($file,'w');
fputs($fp, $contenido);
fclose ($fp);

$mes="02";

for ( $i = 0 ; $i < sizeof($arr) ; $i++ )
{
$fp = fopen("galerias.txt","r");
$contents = fread ($fp, filesize ("galerias.txt"));
$parte= explode("\n", $contents);
$galeria=$parte[$i]
fclose ($fp);

$galeria_buena1 = substr_count($galeria, $mes."</a>");
$galeria_buena2 = substr_count($galeria, $mes-1."</a>");

if ($galeria_buena1<1)
{
//Recojo fecha de la galeria anterior
$galeria_anterior=$parte[$i-1];
$string=$galeria_anterior;
$criterio="\/"; // recojo este criterio ya que als fechas son del tipo: dia/mes
$fechita_mala=busco_fechas($criterio, $string);
foreach ($fechita_mala["textos"] as $buscado_anterior)
{
$buscado_anterior=$buscado_anterior;
}
//Recojo fecha de la galeria actual
$string=$galeria;
$criterio="\/";
$fechita_buena=busco_fechas($criterio, $string);
foreach ($fechita_buena["textos"] as $buscado)
{
$fp = fopen("galerias.txt","r");
$galerias = fread ($fp, filesize ("galerias.txt"));
$galerias1=str_replace($buscado,$buscado_anterior, $galerias);
fclose ($fp);
$file = "galerias.txt";
$fp = fopen($file,'w');
fwrite( $fp, $galerias1);
fclose ($fp);
}


}else
{
}
}

Última edición por yamakasiz; 23/02/2005 a las 10:53