Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/12/2008, 07:12
sadai
 
Fecha de Ingreso: diciembre-2008
Mensajes: 6
Antigüedad: 15 años, 4 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);
?>