Foros del Web » Programando para Internet » PHP »

es posible escribir fputs de 2 archivos diferentes a la vez?

Estas en el tema de es posible escribir fputs de 2 archivos diferentes a la vez? en el foro de PHP en Foros del Web. buenas, tengo una aplicacion para modificar fotos de un producto, desde una base de datos. cada vez que añado, borro o modifico una foto, tengo ...
  #1 (permalink)  
Antiguo 22/07/2011, 04:30
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
es posible escribir fputs de 2 archivos diferentes a la vez?

buenas,

tengo una aplicacion para modificar fotos de un producto, desde una base de datos. cada vez que añado, borro o modifico una foto, tengo un codigo generarXML que lo que hace es obtener los datos del producto, abro un archivo xml, machaco con la info del producto y lo vuelvo a cerrar. lo hago tal que asi:

Código:

$ficheromailscorrectos = fopen("../fotos_".$nombre_galeria.".xml","w+"); 

include("config.php"); 

$cnx = conectar(); 

$sql ="SELECT * FROM imagenes WHERE id_galeria=$id_galeria"; 
$resultados = mysql_query($sql) or die (mysql_error()); 
$contenido="<gallery>";

$contenido.="<setup path='fotos/' >
		<backgroundColor>#FFFFFF</backgroundColor>
	</setup>";
	
while($row = mysql_fetch_array($resultados)){ 

$contenido.="<item>";

$contenido.="<img>".$row['nombre_imagen']."</img>";

$contenido.="<caption>".$row['caption_imagen']."</caption>";

$contenido.="</item>";
}

$contenido.="</gallery>"; 

fputs($ficheromailscorrectos,$contenido); 
fclose($ficheromailscorrectos);
lo que quiero hacer es abrir otro fichero y machacarlo de la misma forma. es un archivo que esta en otra carpeta, pero cuando quiero hacer las 2 gestiones a la vez me falla. tengo que abrir los 2 a la vez?

he probado a copiar todo el codigo y cambiar los nombres de las variables añadiendo un 2 para no llamarlas igual y nada. que hago mal?

lo que me gustaria es poder escribir en los 2 archivos, que se llaman igual lo unico que tienen rutas diferentes.

saludos!

Última edición por ferranWEB; 22/07/2011 a las 04:36
  #2 (permalink)  
Antiguo 22/07/2011, 05:05
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: es posible escribir fputs de 2 archivos diferentes a la vez?

debería ser tan fácil como
Código PHP:
$ficheromailscorrectos2 fopen("../fotos2_".$nombre_galeria.".xml","w+"); 
Y luego
Código PHP:
fputs($ficheromailscorrectos,$contenido); 
fputs($ficheromailscorrectos2,$contenido); 
fclose($ficheromailscorrectos);
fclose($ficheromailscorrectos2); 
Debería funcionar así xD
  #3 (permalink)  
Antiguo 22/07/2011, 05:10
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: es posible escribir fputs de 2 archivos diferentes a la vez?

genial!!

y yo machacaba 2 veces!!! jajajaja

saludos!
  #4 (permalink)  
Antiguo 22/07/2011, 05:16
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: es posible escribir fputs de 2 archivos diferentes a la vez?

eleazan,

un pequeño problema, a ver si se puede solucionar. como estan en carpetas diferentes, el xml de la carpeta cat, el numero 2, tendria que tener un parametro diferente...

Código:
$contenido.="<setup path='../fotos/' >
		<backgroundColor>#FFFFFF</backgroundColor>
de que forma se podria hacer?

saludos!
</setup>";
  #5 (permalink)  
Antiguo 22/07/2011, 05:27
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: es posible escribir fputs de 2 archivos diferentes a la vez?

Te vale algo así?

Código PHP:

$ruta1 
"../fotos_";
$ruta2 "../fotos2_";


include(
"config.php"); 

$cnx conectar(); 

$sql ="SELECT * FROM imagenes WHERE id_galeria=$id_galeria"
$resultados mysql_query($sql) or die (mysql_error()); 
$contenido="<gallery>";

$path1="<setup path='fotos/' >
        <backgroundColor>#FFFFFF</backgroundColor>
    </setup>"
;
$path2="<setup path='fotos2/' >
        <backgroundColor>#FFFFFF</backgroundColor>
    </setup>"
;
    
while(
$row mysql_fetch_array($resultados)){ 

$contenido2.="<item>";

$contenido2.="<img>".$row['nombre_imagen']."</img>";

$contenido2.="<caption>".$row['caption_imagen']."</caption>";

$contenido2.="</item>";
}

$contenido2.="</gallery>"

$ficheromailscorrectos fopen($ruta1.$nombre_galeria.".xml","w+"); 
fputs($ficheromailscorrectos,$contenido.$path1.$contenido2); 
fclose($ficheromailscorrectos);
$ficheromailscorrectos2 fopen($ruta2.$nombre_galeria.".xml","w+"); 
fputs($ficheromailscorrectos2,$contenido.$path2.$contenido2); 
fclose($ficheromailscorrectos2); 
Simplemente, he dividido "contenido" en 3.
·Primera parte (comun hasta el path)
·El path
·Ultimo trozo, desde el path, hasta el final.

Así el path lo puedes cambiar para cada una! ;)

(La idea está, ahora adaptalo a tus gustos / necesidades xD)


Edit: Mira, se me ha ocurrido esta forma tb xD

Código PHP:

include("config.php"); 

$cnx conectar(); 

$sql ="SELECT * FROM imagenes WHERE id_galeria=$id_galeria"
$resultados mysql_query($sql) or die (mysql_error()); 
$contenido="<gallery>";

$contenido.="<setup path='%s' >
        <backgroundColor>#FFFFFF</backgroundColor>
    </setup>"
;
    
while(
$row mysql_fetch_array($resultados)){ 

$contenido.="<item>";

$contenido.="<img>".$row['nombre_imagen']."</img>";

$contenido.="<caption>".$row['caption_imagen']."</caption>";

$contenido.="</item>";
}

$contenido.="</gallery>"


$path1 "tal";
$path2 "pascual"

$ficheromailscorrectos fopen("../fotos_".$nombre_galeria.".xml","w+"); 
$ficheromailscorrectos2 fopen("../fotos2_".$nombre_galeria.".xml","w+"); 


$contenido2 sprintf($contenido$path1);
fputs($ficheromailscorrectos,$contenido2); 
fclose($ficheromailscorrectos);
$contenido2 sprintf($contenido$path2);
fputs($ficheromailscorrectos2,$contenido2); 
fclose($ficheromailscorrectos2); 
Quizás es más sencilla, con sprintf escribes el argument en contenido... (donde está el %s!)
  #6 (permalink)  
Antiguo 22/07/2011, 05:44
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 22 años, 3 meses
Puntos: 3
Respuesta: es posible escribir fputs de 2 archivos diferentes a la vez?

GRACIAS ELEAZAN!!!

no vayas del marrón que me has sacado.. mil gracias de verdad!!!

Etiquetas: diferentes, fputs, imagenes, mysql, posible, sql, variables
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 04:28.