Ir para conteúdo

POWERED BY:

Arquivado

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

gustavopinent

Gerar XML com PHP e ler o XML no Flash

Recommended Posts

Olá!

 

Estou desenvolvendo um Flash que precisa ler os arquivos de um determinado diretório. Como é sabido, o Flash não faz isso, precisa da ajuda de um php no servidor. Não manjo de php, peguei um pedacinho aqui, outro ali e fiz isso:

 

<?php
//pasta a ser lida e onde salvar o arquivo. ("." = pasta local): $dir = ".";
$dirnome = stripslashes($_POST['dir']);
$xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?> \n";
if ($handle = opendir($dirnome)) {
	while ( ($arquivo = readdir($handle)) !== FALSE) {
		if ( $arquivo !== "." && $arquivo !== "..") {
			$xml .= "<arquivo nome=\"$arquivo\"/> \n";		
		}
	}
}
echo "listagem=".$xml;
?>

Uso sendAndLoad no Flash onde .dir = diretório que eu quero ler. Mas nem testando direto no navegador funcionou. O que está faltando?

 

Ahn, se alguém quiser acrescentar outra propriedades dos arquivos além do nome, não será demais...

 

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o script que v está mostrando gera dados no formato xml

 

no final, você deve trocar:

 

echo "listagem=".$xml;

 

por isso

 

 

echo $xml;

 

 

dentro do flash, utilize algum componente para leitura de XML

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só pra complementar o que o Hinom disse, acrescenta também o header no início do código, informando que o arquivo é um XML:

header('Content-type: application/xml; charset=utf-8', TRUE);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleuza!!! Custei um pouco para testá-lo porque tem umas diferenças no Flash quanto ao carregamento do xml. Tipo, tem que se usar .onData ao invés de .onLoad e depois dar um parseXML manualmente - é uma forma manual de fazer as coisas. Mas é bem poderosa.

 

Outro detalhe importante: o servidor não aceita ler de um domínio para o outro assim no mais. Como no meu caso são subdomínios, eu utilizo o caminho completo ao invés do domínio. Não sei como liberar o acesso entre domínios, não adianta apenas dar um chmod 777, tem algo mais... mas esta é uma outra história.

 

Valeu a ajuda!

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.