Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2008, 04:48
yotrabajo
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 17 años, 1 mes
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