alnxp 0 Denunciar post Postado Janeiro 17, 2008 pessoal, tenho o arquivo fotos.php <html> <head> <script language="javascript" type="text/javascript"> <!-- var win=null; function NewWindow(mypage,myname,w,h,scroll,pos){ if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;} if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;} else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20} settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars=no,location=no,directories=no,status=no,menubar=no,toolbar=no,re sizable=no'; win=window.open(mypage,myname,settings);} // --> </script> </head> <body bgcolor="#FFFFFF" bgproperties='fixed' text="#000000" link="#C0C0C0" vlink="#C0C0C0" alink="#C0C0C0" topmargin="10" leftmargin="10" rightmargin="10"> <center> <?php include "thumbs.php"; $od = opendir("img/"); $test=count($od); $oi=$test; while($foto = readdir($od)){ $oi++; if ($oi>3) { if ($foto!='Thumbs.db' and $foto!='fotos.php' and $foto!='.') { $ImageSize = GetImageSize ("img/$foto"); $a = $ImageSize[0]; $b = $ImageSize[1]; $x = $a+20; $y = $b+20; $filename = "xml.xml"; $handle = fopen ($filename, "w"); $conteudo = fread ($handle, filesize ($filename)); fclose ($handle); $xml = '<?xml version="1.0" encoding="ISO-8859-1"?>'; $xml .= "\n"; $xml .= "<fotos>"; $xml .= "\n"; $xml .= "<foto imageg=\"$foto\"/>"; $xml .= "\n"; $xml .= "</fotos>"; $arquivo = "xml.xml"; $open = fopen ($arquivo, "w"); if(fwrite($open,$xml) === FALSE){ echo "Erro!"; }else{ echo "Sucesso!"; } echo "<a href='img/$foto' onclick=\"NewWindow(this.href,'teste','$x','$y','yes','center');return false\" onfocus=\"this.blur()\"><img border='no' border='0' src='thumbs.php?maxsize=200&src=img/$foto' ></a> "; }} } ?> </body></html> esse php lista todas as fotos que estiver em um diretório e cria seus links, além de escrever o xml. Meu problema é esse, o xml, a linha em vermelho mostra como escreve o xml, porém preciso que ele escreva também todas as fotos que estiverem na pasta no xml, e não só a primeira linha, o xml está sendo gerado assim: <?xml version="1.0" encoding="ISO-8859-1"?> <fotos> <foto imageg="1.jpg"/> </fotos> a minha função while está funcionado legal, mas não sei como faço para ela executar ao criar o xml invéz de ela ser executada apenas quando estiver o echo como posso resolver isso ? Compartilhar este post Link para o post Compartilhar em outros sites
hufersil 145 Denunciar post Postado Janeiro 18, 2008 $pasta = 'imagens'; $arquivo_xml = 'fotos.xml'; $xml = array('<?xm version="1.0" enconding="UTF-8"?>'); $xml[] = '<fotos>'; $dh = opendir($pasta); while( ($arquivo = readdir($dh)) !== false ) { // lista somente imagens if( preg_match('@(.+?)\.(jpg|jpeg|gif|png|bmp)$@i', $arquivo, $match) ) { // armazena no array $xml o item da foto $xml[] = '<foto imagem="'. $match[1] . '.' . $match[2] . '" />'; // pega o tamanho list($largura, $altura) = getimagesize( $pasta . '/' . $arquivo ); // agora faz as outras coisas. } } // fecha o diretorio closedir($dh); // termina o XML $xml[] = '</fotos>'; // gera uma string do XML $xml_string = implode(PHP_EOL, $xml); // grava o arquivo (PHP5) file_put_contents( $arquivo_xml, $xml_string ); Ps.: Certifique-se que o diretório tem direito de escrita para poder escrever o arquivo xml. @braços e fique com Deus Compartilhar este post Link para o post Compartilhar em outros sites