Foros del Web » Programando para Internet » PHP »

Buscar cadena en un txt y escribir en un sql

Estas en el tema de Buscar cadena en un txt y escribir en un sql en el foro de PHP en Foros del Web. Hola. Llevo un rato mirando mensajes para abrir un archivo en modo lectura, y otro en modo lectura/escritura. La idea es: 1.- buscar una cadena1 ...
  #1 (permalink)  
Antiguo 22/06/2010, 15:03
Avatar de Batusai  
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 10 meses
Puntos: 1
Pregunta Buscar cadena en un txt y escribir en un sql

Hola.

Llevo un rato mirando mensajes para abrir un archivo en modo lectura, y otro en modo lectura/escritura. La idea es:

1.- buscar una cadena1 en file1

2.- copiar como variable1 lo que haya escrito a partir de esa cadena1 hasta encontrar cadena2

3.- escribir variable1 dentro de file2

4.- buscar cadena3 en file1

5.- copiar como variable2 lo que haya escrito a partir de esa cadena3 hasta encontrar cadena4

6.- escribir variable2 dentro de file2

7.- volver a punto 1.- hasta llegar al final de file1

De momento lo único que consigo es meterme en un bucle infinito.

Código PHP:
$origen 'users.php';
$file1 fopen($origen"r");

$destino 'users.sql';
$file2 fopen($destino"a");

while(!
feof($file1)){  
explode('\''$dato);

$write fputs($file2$dato);


fclose($file1);


//Para escribir al final del archivo y cerrarlo
$string "\n Esto contenía el archivo";

fclose($file2); 
Problemas:

cadena1 es una comilla simple, por lo que debo "escaparla".
cadena1, 2, 3 y 4 son diferentes entre si.

¿Podría alguien ayudarme?
__________________
No es verdad que sea un completo inútil. Al menos sirvo para dar mal ejemplo

Última edición por Batusai; 22/06/2010 a las 15:07 Razón: matizar cosuística
  #2 (permalink)  
Antiguo 22/06/2010, 15:29
Avatar de funkii  
Fecha de Ingreso: junio-2010
Mensajes: 64
Antigüedad: 14 años, 5 meses
Puntos: 4
Respuesta: Buscar cadena en un txt y escribir en un sql

entras en un bucle infinito poruqe la funcion feof falla cuando devuelve TRUE, y para que pase eso tiene que estar mal lo de arriba al bucle while.

pone los valores de $origen y $destino entre comillas DOBLES
y despues para buscar podes hacer uso de las funciones:
preg_match_all(), preg_match() O ereg() o eregi()

despues me quede no me quedo claro lo demas que queres hacer
  #3 (permalink)  
Antiguo 22/06/2010, 16:19
Avatar de Batusai  
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 10 meses
Puntos: 1
Respuesta: Buscar cadena en un txt y escribir en un sql

No sé si sería conveniente usar explode para lo que quiero. Pongo un ejemplo para que se vea claro:
Necesito que lea un archivo PHP con contenido de líneas así:
Código:
'OPTIONS'	=> 'Opciones',
Quiero sacar dos valores distintos, que correspondan al contenido entre comillas simples.
Por lo tanto cuando encuentre la primera comilla simple que tome el contenido hasta la siguiente comilla simple y lo guarde como variable1 y después de la siguiente comilla simple hasta la siguiente y lo tome como variable2. Así:
variable1 valdría OPTIONS
variable2 valdría Opciones
Pues que esos dos valores se graben en un archivo2. Así com todas las líneas.

Inicialmente las marcas delimitadoras iban a ser distintas: comilla simple ' comilla simple+igual a '= mayor que + comilla simple > ' y finalmente comilla simple+coma ',
pero era muy problemático. Porque los espacios en blanco no siempre eran los mismos, y había que tomarlos en cuenta.
__________________
No es verdad que sea un completo inútil. Al menos sirvo para dar mal ejemplo

Etiquetas: escribir, explode, fclose, fopen, fwrite
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:13.