Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

alnxp

galeria de fotos

Recommended Posts

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

$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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.