Ir para conteúdo

POWERED BY:

Arquivado

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

Michel Bueno

[Resolvido] Como ler os arquivos do servidor com PHP e passá-lo a Flas

Recommended Posts

E ae pessoal, to com um problema aqui...

 

To precisando criar lance em q o flash puxe de um PHP a

lista de arquivos de extenções "jpg" e "zip" que está na pasta do servidor e

mostre todos os arquivos num ListBOX como links.

 

Achei esse tutorial, mas está usando ASP, mas teria que ser em PHP :blink:

://www.criarweb.com/artigos/como-ler-arquivos-servidor-com-asp-passar-flash.html

 

 

Valew galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas é praticamente o mesmo procedimento, não é dificil, exemplo(entreguei praticamente de bandeja hehehe):

<?php
$dir = "pasta das fotos/";

// Abre um diretorio conhecido, e faz a leitura de seu conteudo
if (is_dir($dir)) {
if ($dh = opendir($dir)) {

print("<?xml versao='1.0' ?><exploracao pasta='".$dir."'>");

while (($file = readdir($dh)) !== false) {
print "filename: " . $file . "\n";
print("<arquivo nome='");
print($file);
print("' size='");
print(floor(filesize($file)/1024 ));
print("' />");
 }
 closedir($dh);
 }
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa! valew Silverfox!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

Testei aqui, mas não funcionou...

devo estar errando em algum detalhe.

Criei as pastas como no tutorial, mudei no php o

nome da pasta onde ficaram os arquivo deixei como "files/".

 

Aqui tem o tutorial completo com os arquivos de exemplo... (em espanhol)

http://www.tutoriales-flash.com/tutorial.asp?id_tuto=22

 

dei várias repassadas, mas nao consegui nada :wacko:

 

 

Antes mais nada, valew!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve te algo errado, (logico que tem), me passa os arquivos por e-mail que eu vou ver o que posso fazer.

 

Alexandrecruz94@hotmail.com - Espero você, Alexandre http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

arrumei o código:

<?php
$dir = "sua pasta/";

// Abre um diretorio conhecido, e faz a leitura de seu conteudo
if (is_dir($dir)) {
if ($dh = opendir($dir)) {

print("<?xml versao='1.0' ?>");
echo "\r\n";
print("<exploracao pasta='".$dir."'>");
echo "\r\n";
while (($file = readdir($dh)) !== false) {
print("		<arquivo nome='");
print($file);
print("' size='");
print(floor(@filesize($file)/1024 ));
print("' />");
echo "\r\n";
}
print("</exploracao>");
closedir($dh);
}
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E ae silverfox, valew mas ainda nao ta funfando :wacko:

 

da uma olhada, a impressão é que o navegador fica aguardando resposta:

http://www.michelbueno.com/explorar/

 

código php usado

<?php
$dir = "/files/";

// Abre um diretorio conhecido, e faz a leitura de seu conteudo
if (is_dir($dir)) {
if ($dh = opendir($dir)) {

print("<?xml versao='1.0' ?>");
echo "\r\n";
print("<exploracion carpeta='".$dir."'>");
echo "\r\n";
while (($file = readdir($dh)) !== false) {
print("  <archivo nombre='");
print($file);
print("' size='");
print(floor(@filesize($file)/1024 ));
print("' />");
echo "\r\n";
}
print("</exploracion>");
closedir($dh);
}
}
?>

ação flash:

XML.prototype.ignoreWhite = true;
miXML = new XML();
miXML.onLoad = verArchivos;
function verArchivos(ok) {
carpetaElegida = this.firstChild.attributes.carpeta;
if (ok) {
var files = this.firstChild.childNodes;
for (var k = 0; files[k]; k++) {
archivos.addItem(files[k].attributes.nombre+" - "+files[k].attributes.size+" KBytes", files[k].attributes.nombre);
}
} else {
//fallo en la carga
}
}
function clicLista(component) {
getURL("/files/"+component.getSelectedItem().data, "_self");
}

botão:

on (release) {
	//evitamos cargar el XML más de una vez
	if (!miXML.loaded) {
		miXML.load("/php/explorar.php");
	}
}

Estrutura de pasta:

files (arquivos jpg), php (explorar.php) , index.html e index.swf

 

Resolvi deixar os nomes e diretorios identicos ao original p evitar erros.

 

Arquivos que estou usando:

http://www.michelbueno.com/explorar/explorar.zip

 

 

Desde ja agradeço pela atenção e principalmente a paciencia! :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

tire essa barra:

miXML.load("/php/explorar.php");

faça assim, por que se não ele vai para a pasta raiz:

miXML.load("php/explorar.php");

e SET uma pasta que exista no seu site, por que olhe o erro que o PHP retorna nesse link:

http://www.michelbueno.com/explorar/php/explorar.php

 

Erro:

Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/files/) is not within the allowed path(s): (/home/restricted/home/michelbueno:/tmp:/usr/share/pear) in /home/restricted/home/michelbueno/public_html/explorar/php/explorar.php on line 5

isso ocorre por causa da mesma coisa da barra que você pois a mais:

$dir = "/files/";

faça assim:

$dir = "files/";

se você usa a barra ao inves de acessar assim:

http://www.michelbueno.com/explorar/php/explorar.php

http://www.michelbueno.com/explorar/files/

 

ele acaba acessando assim:

http://www.michelbueno.com/php/explorar.php

http://www.michelbueno.com/files/

 

o uso dessa barra na frente é se você quiser ir para a pasta raiz.

 

Observe que no meu código não há barra na frente:

$dir = "sua pasta/";

Compartilhar este post


Link para o post
Compartilhar em outros sites

Silverfox: Cara, show d bola, funcionando corretamente, Valew!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif tive q deixar o arquivo php junto com o swf...

 

saca só

http://www.michelbueno.com/explorar/

 

Só tem uns detalhes agora http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

tava fazendo esses testes pelo arquivo original q era AS 1.0 e player 6,

quando mudei p AS 2 e player 8...

aparece no listBox "undefined" até que sejam preenchido com nomes dos arquivos...

O tamanho dos arquivos também estão dando como zero para todos.

E no começo da lista aparece "." ".." para voltar as pastas,

Será que esses lances é no php?

 

Mais uma vez Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

"." ".."
basta filtrar eles no PHP:

...
if ($dh = opendir($dir)) {
print("<?xml versao='1.0' ?>");
echo "\r\n";
print("<exploracion carpeta='".$dir."'>");
echo "\r\n";
while (($file = readdir($dh)) !== false) {
if($file!=".." || $file!="."){
print(" <archivo nombre='");
print($file);
print("' size='");
print(floor(@filesize($file)/1024 ));
print("' />");
echo "\r\n";
}
}
}
...

[editado] Estude PHP: http://www.php.net/manual/pt_BR/

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.