PHP - Crear Archivo Despues de Recorrer

 
Vista:

Crear Archivo Despues de Recorrer

Publicado por jmuoz (21 intervenciones) el 28/05/2014 00:18:00
Que tal, estoy realizando un programa para que solo me aparezcan ciertas lineas de un archivo txt hasta el momento consigo lo que requiero, pero quiero guardarlo en otro archivo eh investigado y y tengo que ocupar un file:

$First = file("Prueba/Archivo.txt");
y un fwrite
pero aun no eh podido implementarlo en el codigo que tengo quizas estoy haciendo algo mal espero puedan darme una pequeña pista que hago mal, dejo el codigo al que quiero crear un nuevo archivo:

1
2
3
4
5
6
7
8
9
10
11
12
$archivo = fopen("Prueba/Archivo.txt",'c+');
    while ( !feof( $archivo )){
 
       $fila = fgets($archivo);
       $datos = explode("-", $fila);
 
         for ($i = 0; $i < count($datos); $i++){
             echo $datos[$i];
         }
         echo "<p>";
    }
    fclose($archivo);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Crear Archivo Despues de Recorrer

Publicado por xve (6935 intervenciones) el 28/05/2014 15:14:11
Hola Jmuoz, el fopen del archivo origen, yo utilizaría "r" lectura, y el de escritura tiene que ser "w" solo escritura.

Para guardar es con fwrite: http://www.php.net/manual/es/function.fwrite.php

Lo que no entiendo muy bien en tu código, es donde lees el archivo origen?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear Archivo Despues de Recorrer

Publicado por jmuoz (21 intervenciones) el 29/05/2014 00:51:18
Eso es lo que me falta por que solo proceso el archivo pero no le estoy dando un origen y no se si debo utilizar el file en este caso para poder pasar el archivo de origen y depues el codigo donde escribo en el nuevo archivo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Crear Archivo Despues de Recorrer

Publicado por xve (6935 intervenciones) el 29/05/2014 08:56:56
No se muy bien que contiene el archivo, pero por ejemplo, para obtener el contenido de un archivo y copiarlo en otro archivo, podría ser algo así:
1
2
3
4
5
6
7
$origen=file_get_contents("archivoOrigin.txt");
 
$destino=fopen("archivoDestino","w");
 
fwrite($destino,$origen);
 
fclose($destino);

Lo que te falta en el fwrite, es decidir que parte vas a copiar...

Te sirve esto?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Crear Archivo Despues de Recorrer

Publicado por jmuoz (21 intervenciones) el 30/05/2014 02:01:55
El contenido del archivo trae aproximadamente como 300 lineas utilize el codigo que propuso y funciona para crear el archivo ya lo hago, pero ahora el detalle esta en que tengo que utilizar solo algunas lineas de ese txt por ejemplo la 1 y de hay de la 250 a la 270 hasta el momento recorro el archivo de esta manera:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
$lineas = file('Prueba/Archivo.txt');
foreach ($lineas as $numero => $linea) {
    //$numero_linea = $numero + 1;  
 
//En esta parte tomo la var $numero es el num d linea y si es igual a 0 que la delimite y prosigo y asi mismo hasta que cumpla todas la lineas que estoy buscando...
if ($numero == 0) {                       //Dato1
    	 $li=$lineas[0] = substr($linea,0,6)."\n";
    	 echo $lineas[0];
    }else{}
    if ($numero == 253 ) {                        //Dato2      
    	$li=$lineas[253] = substr($linea, 45,62);
    	echo $lineas[253];
    }else{}
    if ($numero == 255) {                         //Cantidad
    	$li=$lineas[255] =substr($linea,39,54).'<br>'.' &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp ';
        echo $lineas[255];
    }
    if ($numero == 256) {
        $li=$lineas[256] =substr($linea,39,54).'<br>'.' &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp ';
    	echo $lineas[256];
    }
    if ($numero == 257) {
    	$li=$lineas[257] =substr($linea,39,54).'<br>'.' &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp ';
    	echo $lineas[257];
    }
    if ($numero == 257) {
    	$li=$lineas[257] =substr($linea,39,54).'<br>'.' &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp ';
    	echo $lineas[257];
    }
 
//Al final creo el archivo...
$archivo = fopen("Prueba/Archivo2.txt","c+");
    foreach ($lineas as $linea)
  	fwrite($archivo, $li);
  fclose($archivo);
 
}

Y los valores los puedo ver claramente en el navegador tal cual los delimito el problema ocurre al momento de crear el archivo me envia los datos repetidos, antes de ello cree una variable llamada $li donde voy guardando la posicion del arreglo pero no se si este bien porque cuando hago eso me repite todo creo nada mas toma una posicion y hay que retornarla hay es donde tengo duda espero puedan ayudarme por no eh podido resolver eso y llevo un par de dias buscando y no lo resulevo, gracias saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar