Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago de Oliveira Cruz

transformar pasta para XML

Recommended Posts

Bom galera nunca vi isso por aqui então resolvi fazer esse tutorial :)

 

Eu publiquei o mesmo em meu blog... que é desenvolvido para programação em flash :)

Mas num futuro para wordpress, php, asp essas coisas ai rs.

berseck.wordpress.com

 

 

Bom muita gente tem duvida quanto a esse tipo de codificação.

Vou ensinar aqui como que se cria um XML por php, com o conteudo de uma pasta especifica de seu sistema… sem usar MYSQL nem nada disso.

 

Com base no tutorial link

Da galera lá do Imasters eu em vez de usar o MYSQL resolvi pegar os dados de uma pasta interna minha.

 

Otimo para poder criar xml para galeria de imagens etc… com ajuda de um administrador.

 

Então vamos ao código PHP:

 

<?php
	// Código criado por Thiago de Oliveira Cruz
	// Denvolvido para pegar conteudo de pastas por PHP

	//Digo o diretório das imagens
	$dir = "./imagens/";

	// Abre um diretorio conhecido, e faz a leitura de seu conteudo
	if (is_dir($dir)) {
	//crio o nome do arquivo XML
	$arquivo = "fotos.xml";
	//crio uma variável que vai escrever o arquivo e abro o arquivo que vou escrever
	$ponteiro = fopen($arquivo, "w");
	//Coloco o cabeçálio de XML
	fwrite($ponteiro, "<?xml version=’1.0′ encoding=’utf-8′?>");
	//Escrevo o primeiro child do XML
	fwrite($ponteiro, "<album>");
	//Abro o diretório de meu servidor onde se encontram as fotos
	if ($dh = opendir($dir)) {
	//Enquanto existir arquivos vou continuar colocando o conteudo
	while (($file = readdir($dh)) !== false) {
	//Removo o . e o .. de extensão de pasta… que funciona +/- igual a um ftp
	if($file{0}!="."){
	//Coloco dentro da variavel conteudo meus childs
	$conteudo .= "<fotos foto=’$file’ />";
	}
	}
	//fecho o diretorio
	closedir($dh);
	}
	//Escrevo no arquivo o conteudo
	fwrite($ponteiro, $conteudo);
	//fecho a primeira child
	fwrite($ponteiro, “</album>”);
	//fecho o arquivo
	fclose($ponteiro);
	}
	echo "Parabéns o arquivo <b>".$arquivo."</b> foi gerado com SUCESSO !";
	?>

E é isso :) basta ler os comentários e bom divertimento

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Umas dicas:

 

* Procure abrir o arquivo somente para gravar a informação e já fechá-lo. Logo, abra-o somente após o loop, quando $conteudo já contiver o valor correto.

* Inicie $conteudo antes de concatená-la:

 

$conteudo = "";

 

* Dá para usar outras funções, como scandir e glob.

 

http://www.php.net/scandir

http://www.php.net/glob

 

glob é legal em casos onde você busca por arquivos com determinada(s) extensão(ões)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem sabe como montar esse xml mas que as fotos fiquem em ordem alfabetica tipo 01.jpg, 02.jpg, pois quando ele monta o xml fica tudo bagunçado

 

<fotos foto='0004.jpg' />

<fotos foto='0001.jpg' />

<fotos foto='0006.jpg' />

 

Boas dicas Imagem Postada

 

Brigadão Imagem Postada

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.