Hola expertos!!
miren,intento borra una linea de un archivos,el caso es que me la borra,pero quiero que despues me esscriba una cosa en ese mimsa linea y eso ya no me lo hace.
$fname = "Categorias.html";
$lines = file($fname);
$out = '
<!--Cat--> <input type="Submit" name="Boton" value="Categoria" style="float:left; margin-left: 6px; margin-top: 10px; width: 120px; height: 25px; border:none; color:white; cursor:pointer; background:url(BS1.png);">';
foreach($lines as $line) if(!strstr($line, "<!--Cat-->")) @$out .= $line;
$f = fopen($fname, "w");
fwrite($f, $out);
fclose($f);
la linea a borrar se identifica por el " <!--Cat--> " ,el caso es que me la borra,pero despues lo que quieor que me escriba ($out) me lo escribe pero al principio del archivo,necesito que me lo escrba en donde borro la linea (que es dentro de un form en verdad)
alguna idea?¿
saludos y mil gracias por todo
Deja una marca o algo en esa linea, y luego le haces un replace
Podrias ponerme como seria el codigo si no es mucho pedir porfavor?¿ :S
gracias
Riki_89D el problema es que estas asignando un valor inicial a la cadena $out, luego de eso dentro del for asignas el contenido del archivo sin la linea que quieres eliminar, por eso te sale la línea esa al inicio del archivo y te borra la otra.
Para solucionarlo debes usar una variable diferente y asignarla en la condición que usas dentro del bucle, por ejemplo algo así:
$fname = "Categorias.html";
$lines = file($fname);
$sCadena = '<!--Cat--> <input type="submit" name="Boton" value="Categoria" style="float:left; margin-left: 6px; margin-top: 10px;
width: 120px; height: 25px; border:none; color:white; cursor:pointer; background:url(BS1.png);" />';
foreach($lines as $line)
{
if(!strstr($line, "<!--Cat-->"))
$out .= $line;
else
$out .= $sCadena;
}
ó
foreach($lines as $line)
$out .= !strstr($line, "<!--Cat-->") ? $line : $sCadena;
Después ya puedes almacenar los datos en el archivo.
Hola,ya intente adaptarlo todo pero no hace nada mas que borrame el contenido del archvo :S
$fname = "Categorias.html";
$lines = file($fname);
$out = '<!--Cat--> <input type="submit" name="Boton" value="Categoria" style="float:left; margin-left: 6px; margin-top: 10px;
width: 120px; height: 25px; border:none; color:white; cursor:pointer; background:url(BS1.png);" />';
foreach($lines as $line)
{
if(!strstr($line, "<!--Cat-->"))
$out .= $line;
else
$out .= $out;
}
fopen($fname,"w");
fwrite($fname,$out);
fclose($fname);
que hay de mal ai?¿