Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá galerinha do IMasters,
Estou eu aqui novamente com minhas dúvidas e questões... Mas, antes de mais nada, gostaria de lhes saudar com um caloroso voto de Feliz Ano Novo e muita saúde para todos nós...
Enfim, é o seguinte: Tenho um visualizador de álbum de fotos (template pronto) que estou implantando no site que estou fazendo da minha banda, daí ao abrir esse visualizador carrega um arquivo XML (que contém os respectivos dados do álbum e endereços das fotos) para a montagem do álbum em Flash.
Manualmente consegui fazer alterações no arquivo XML como teste e até aí tudo ok.
E agora, estou querendo ir mais além um pouco... quero que esse arquivo XML seja "criado" de acordo com cada álbum após o clique no link (do álbum) em que o usuário escolher. Ou seja, antes de ser carregado a visualização das fotos, será gerado um novo XML que conterá os dados do álbum buscados do meu banco de dados a partir do link/álbum escolhido pelo usuário para visualização do mesmo. B)
Uma parte mais simples desse arquivo XML já consegui adiantar que é esse:
$head = '<?xml version="1.0" encoding="ISO-8859-1"?>
<simpleviewergallery
galleryStyle="MODERN"
title="'.$row_gallery['galeria'].'" //<-- Aqui já consegui capturar o nome da galeria do bando de dados numa boa.
textColor="FFFFFF"
frameColor="FFFFFF"
frameWidth="20"
thumbPosition="LEFT"
thumbColumns="3"
thumbRows="3"
showOpenButton="TRUE"
showFullscreenButton="TRUE"
maxImageWidth="640"
maxImageHeight="640"
useFlickr="false"
flickrUserName=""
flickrTags=""
languageCode="AUTO"
languageList=""
imagePath="images/"
thumbPath="thumbs/">';
Chamei de '$head' a primeira parte do arquivo XML, que receberá os primeiros códigos de configuração do XML e que depois será concatenada com as outras partes. :mellow:
Agora é que vem o "pó da questão", tem uma parte do XML que repete para cada foto contido no álbum:
<image imageURL="images/wide.jpg" thumbURL="thumbs/wide.jpg" linkURL="" linkTarget="" >
<caption></caption>
</image>
Pois essa parte repetição já fiz com um do...while:
do {
echo ('<image imageURL="/images/'.$row_gallery['foto'].'" thumbURL="/thumbs/'.$row_gallery['thumb'].'" linkURL="" linkTarget="" >
<caption>'.$row_gallery['descfoto'].'</caption>
</image>');
} while ($row_gallery = mysql_fetch_assoc($gallery));
Porém quando rodo o script e vou ao seu código fonte, lá contém toda a configuração do XML do jeito que eu gostaria que fosse escrito no XML. Mas preciso disso no XML e não no HTML... <_<
Gostaria de escrever completo nesse arquivo XML dessa forma (Claro, que capturado de acordo com a tabela "fotos"):
<?xml version="1.0" encoding="ISO-8859-1"?>
<simpleviewergallery
galleryStyle="MODERN"
title="Teste com banco de dados"
textColor="FFFFFF"
frameColor="FFFFFF"
frameWidth="20"
thumbPosition="LEFT"
thumbColumns="3"
thumbRows="3"
showOpenButton="TRUE"
showFullscreenButton="TRUE"
maxImageWidth="640"
maxImageHeight="640"
useFlickr="false"
flickrUserName=""
flickrTags=""
languageCode="AUTO"
languageList=""
imagePath="images/"
thumbPath="thumbs/">
<image imageURL="/images/tall.jpg" thumbURL="/thumbs/tall.jpg" linkURL="" linkTarget="" ><caption>Tall creio que seja Vitórias-Régias... ^^</caption>
</image>
<image imageURL="/images/Tulips.jpg" thumbURL="/thumbs/Tulips.jpg" linkURL="" linkTarget="" ><caption>Tulips no mundo da maravilha... ^^</caption>
</image><image imageURL="/images/wide.jpg" thumbURL="/thumbs/wide.jpg" linkURL="" linkTarget="" ><caption>Born To Be Wide!!! ¬¬'</caption>
</image>
</simpleviewergallery>
Então, existe alguma forma de capturar essas saídas do while para depois concatenar com o resto da configuração desse XML? :ermm:
Confesso que já tentei array, mas não obtive resultados. E não sei mais o que posso tentar.
Desde já agradeço pela compreensão dos senhores.
Assim:
O script:
do {
echo ('<image imageURL="/images/'.$row_gallery['foto'].'" thumbURL="/thumbs/'.$row_gallery['thumb'].'" linkURL="" linkTarget="" >
<caption>'.$row_gallery['descfoto'].'</caption>
</image>');
} while ($row_gallery = mysql_fetch_assoc($gallery));
Esse 'echo' está escrevendo numa boa porém no HTML, porém quero jogar isso numa variável: $fotos.
A saída (que apresento no código fonte após ser rodado, mas, que gostaria de levar ao arquivo XML também):
<image imageURL="/images/tall.jpg" thumbURL="/thumbs/tall.jpg" linkURL="" linkTarget="" ><caption>Tall creio que seja Vitórias-Régias... ^^</caption>
</image>
<image imageURL="/images/Tulips.jpg" thumbURL="/thumbs/Tulips.jpg" linkURL="" linkTarget="" ><caption>Tulips no mundo da maravilha... ^^</caption>
</image><image imageURL="/images/wide.jpg" thumbURL="/thumbs/wide.jpg" linkURL="" linkTarget="" ><caption>Born To Be Wide!!! ¬¬'</caption>
</image>
Mas gostaria de capturar essa saída(resultado) do while numa variável '$fotos', assim como fiz com '$head' para a concatenação posteriormente e gravação do arquivo:
//Concatenação do código frankstein.
print $galeria = $head.$fotos.'</simpleviewergallery>'; //<-- Aqui mando "printar" para ver o resultado no código fonte.
// Abre o arquivo.
$fp = fopen("./gallery.xml", "w");
// Grava no arquivo o conteúdo de $galeria. Se o arquivo não existir ele será criado.
fwrite($fp, $galeria);
// Fecha o arquivo
fclose($fp);
Esse print que mando apresentar, retorna um erro: Notice: Undefined variable: fotos in C:...\banda\galeria\index.php on line 82, mas esse erro indica que a variável está indefinida por não conter informação ainda (acho).
Tentei explicar, mas não sei ainda dá pra entender. Rsrs... :mellow:
dentro do loop, você pode fazer assim para jogar em uma variavel
$dados_imagem .= ('<image imageURL="/images/'.$row_gallery['foto'].'" thumbURL="/thumbs/'.$row_gallery['thumb'].'" linkURL="" linkTarget="" >
<caption>'.$row_gallery['descfoto'].'</caption>
</image>');
no final, a var $dados_imagem será concatenada
você pode dar um echo em $dados_imagem a qq momento, como poderá usa-la no XML
é isso que queria?
>
dentro do loop, você pode fazer assim para jogar em uma variavel
$dados_imagem .= ('<image imageURL="/images/'.$row_gallery['foto'].'" thumbURL="/thumbs/'.$row_gallery['thumb'].'" linkURL="" linkTarget="" >
<caption>'.$row_gallery['descfoto'].'</caption>
</image>');
no final, a var $dados_imagem será concatenada
você pode dar um echo em $dados_imagem a qq momento, como poderá usa-la no XML
é isso que queria?
Pow velho... muito obrigado mesmo... deu certinho... :clap:
Realmente era uma coisa tão simples... nem sei como pangüei nessa!!! :huh:
Agora posso ir dormir mais tranquilo, pois está funcionando... hehehe... ^_^
Enfim, Obrigadão mesmo!!!
Abraço e boa noite.
>
Agora posso ir dormir mais tranquilo, pois está funcionando... ^_^
[dever cumprido]
somos 2 :D
[/dever cumprido]
hehehe
[]s
>
>
Agora posso ir dormir mais tranquilo, pois está funcionando... ^_^
[dever cumprido]
somos 2 :D
[/dever cumprido]
hehehe
[]s
HauhsuhUASHuHASuhAUSh....
Quando eu poder hospedar o site, eu colocarei o link aqui para que todos possam ver como ficou!!! :)
Saudações.
parece uma duvida simples, mas não entendi o que você quer...
mostre como está a saida
e mostre como deveria sair