
30/12/2008, 07:12
|
| | Fecha de Ingreso: diciembre-2008
Mensajes: 6
Antigüedad: 16 años, 2 meses Puntos: 0 | |
Respuesta: [ayuda] Borrar líneas *.txt con datos separadas por comas Oido cocina, muy amables y muy rápidos :)
Entonces, en mi caso... como podría reescribir el archivo sin una linea concreta? Empezando ando y no me aclaro mucho como véis :). He puesto un ejemplo más abajo aplicado a mi caso (que no he sabido hacerlo funcionar) que he encontrado en estos foros: <?php // recuperando las variables del trabajo buscado y seleccionado para borrar
$nueva=$_REQUEST["nueva"];
$busca=$_REQUEST["numerotrabajo"]; //buscamos ya que asignamos el nombre original a la del vector
$tecnic=$_REQUEST["tecnica"];
$cantidad=$_REQUEST["cantidad"];
$articulo=$_REQUEST["articulo"];
$texto=$_REQUEST["texto"];
$c1=$_REQUEST["c1"];
$c2=$_REQUEST["c2"];
$cliente=$_REQUEST["cliente"];
$fichero=@fopen("sinasignar/$tecnic.txt",'r'); while ( !feof( $fichero ) ) // no parar hasta que acabe el archivo
{
$c = fgets( $fichero, filesize("sinasignar/$tecnic.txt") ); // separa cada dato
$v=explode(",","$c");
$nueva=$v[0];
$numerotrabajo=$v[1];
$tecnica=$v[2];
$cantidad=$v[5];
$articulo=$v[6];
$texto=$v[7];
$c1=$v[8];
$c2=$v[9];
$cliente=$v[10]; if ($busca==$numerotrabajo){ //antepongo ; al dato a borrar por que asi queda mas adelante
$borrar=";$v"; //leo el archivo a un array, transformo el array en
//una cadena separada por ; $cadena=join(";",file("sinasignar/$tecnic.txt")); //reemplazo lo que voy a borrar en la cadena por nada
$cadena=str_replace($borrar,"",$cadena); //reeemplazo los ; por saltos de línea $cadena=str_replace(";","",$cadena); //escribo la cadena resultante al archivo file_put_contents("sinasignar/$tecnic.txt",$cadena); for ($i = 0; $i < count($v); $i++)
echo "<p>";
}}
?>
borrando...
<?php
fclose($fichero);
?> |