Foros del Web » Programando para Internet » PHP »

Problemas con fopen y fwrite

Estas en el tema de Problemas con fopen y fwrite en el foro de PHP en Foros del Web. Hola, primero de todo decir que no soy programador así que disculpen por el código que seguro que no es el mejor. Necesito un poco ...
  #1 (permalink)  
Antiguo 21/02/2008, 04:48
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Problemas con fopen y fwrite

Hola, primero de todo decir que no soy programador así que disculpen por el código que seguro que no es el mejor. Necesito un poco de ayuda con lo siguiente he buscado por ahí en los foros y no he encontrado nada parecido.

Tengo un fichero txt con variables separadas por caracter $ así:
$1$cielo$nube$25$36$2222....

Necesito passarlo a este formato para leerlo desde flash:
&variable0=1&variable1=cielo&variable2=nube&variab le3=25&variable41=36&variable5=2222....

He creado este php para hacer un replace:


Código:
<?
$count = 0;

do {
	$patron = '/[$]/';
	$reemplazos= '&variable'.$count.'=';
	$nombre_archivo = "/home/telenoot/entradas.txt";
	$gestor = fopen($nombre_archivo, "r")
	or die("can't open file");
	#$contenido = file_get_contents($gestor);
	$contenido = fread($gestor, filesize($nombre_archivo));
	fclose($gestor);
	$gestor = fopen($nombre_archivo, "w+");
	$intro = preg_replace($patron, $reemplazos, $contenido,1);
	fwrite($gestor, $intro);
	fclose($gestor);
	$count=$count+1;
	} while( $count < 2600);

	$gestor = fopen($nombre_archivo, "w+");
	fwrite($gestor, $intro);
	fclose($gestor);
	echo "$intro"
?>
Bien, el archivo que me guarda se corta por la mitad. No me hace la transformación completa. Aunque si existen 2600 caracteres $ solo me reemplaza unos 492.

El problema esta relacionado con el numero de caracteres que inserto en el replace. O sea que si en lugar de insertar '&variable'.$count.'=' inserto '&v'.$count.'=' me reemplaza 946. Es como si de alguna manera cortara caracteres o lineas.

Bueno para el que haya terminado de leer todo el rollo muchas gracias, a ver si alguien tiene idea de lo que estoy haciendo mal.

Saludos
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 08:06.