Comunidad de diseño web y desarrollo en internet online

Pasar un array php a Actionscript

Citar            
MensajeEscrito el 09 Jun 2009 11:17 am
Esta mañana me he puesto a buscar una galeria de imagenes sencilla, pero dado que no encontraba ninguna(todas eran demasiado, para lo que yo necesitaba, que era algo sencillisimo) , pues me he puesto a hacer yo una.
Tengo una dificultad para pasar el array en php con la lista de fotos, a actionscript. He estado mirando como hacerlo... siguiendo manuales... pero a mi no me llega a funcionar. Alguien ve el error??

Código PHP :

<?php
$dir = "./img/";

if (is_dir($dir)) {
    if ($gd = opendir($dir)) {
   $i=0;
        while (($archivo = readdir($gd)) !== false) {
      $array_fotos=$dir . $archivo . "|";
      i++;
            }
        closedir($gd);
    }
}
echo "&array=".$array_fotos."&";
?>


Y el actionscript que estoy haciendo en flash:

Código ActionScript :

var i:Number = 1;
var a = new LoadVars();

form = new LoadVars();
form.load("fotos.php");
form.onLoad = function() {
   var fotos:Array = this.array.split("|");
};


atras.onRelease = function() {
   i--;
   fotos.loadMovie(fotos[i]);
};
adelante.onRelease = function() {
   i++;
   fotos.loadMovie(fotos[i]);
};
º

Por elBecario

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 09 Jun 2009 03:27 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 09 Jun 2009 10:38 pm
¿Como que no lo entiende?

Creo que ya se lo que pasa, deberia haberle puesto un nombre mas acertado a alguna variable. En el codigo php, donde pone array... no es realmente un array, sino un String con todos los nombres de los archivos separados por |.

Tenia entendido que a flash si se le podian pasar cadenas de caracteres desde php.

SAludos, y gracias.

Por elBecario

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Jun 2009 10:20 am
Vale, me salté el code de PHP y pensé que imprimías el array directamente. Ponle fotos en vez de array al nombre de la variable y debería cargar tranquilamente. Si no funciona en Flash es porque declaras la variable local en en onLoad y las otras funciones no lo ven ... declara el array fuera del onLoad, rellénalo cuando recibes los datos

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Jun 2009 09:19 am
Realize eso que me dijiste, y nada sigo sin hacerlo funcionar. Dado que por aqui no avanzaba, busque otra forma de pasarle a flash la lista de archivos, y ahora lo hago por xml, esto deberia funcionar... vamos que tengo seguro que el error no viene de aqui.

Código ActionScript :

var myInterval = true;
var SlideImagenesAlbum = new Array();
var obj_xml:XML = new XML();
obj_xml.ignoreWhite = true;
obj_xml.onLoad = function(exito) {
   if (exito) {
      objetos = obj_xml.firstChild.childNodes;
      for (x=0; x<objetos.length; x++) {
         if (obj_xml.firstChild.childNodes[x].nodeName == "imagen") {
            ImagenXML = obj_xml.firstChild.childNodes[x].firstChild.nodeValue;
            SlideImagenesAlbum.push(ImagenXML);
         }
      }
      }
};
obj_xml.load("leer.php");
atras.onRelease = function() {
   i--;
   contenedor.loadMovie(SlideImagenesAlbum[i]);
}
adelante.onRelease = function() {
   i++;
   contenedor.loadMovie(SlideImagenesAlbum[i]);
}


Código PHP :

<?
/////////////////////////////////////////////////
echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<slide>';
//////////////////////////////////////////////////
$path='img/';
$directorio=dir($path);
//echo "Directorio ".$path.":<br>";
while ($archivo = $directorio->read()){
   $arc_tmp = $archivo;
   $nombre=strtolower($archivo);
   $nombre= str_replace("á","a",$nombre);
   $nombre= str_replace("é","e",$nombre);
   $nombre= str_replace("í","i",$nombre);
   $nombre= str_replace("ó","o",$nombre);
   $nombre= str_replace("ú","u",$nombre);
   $nombre= str_replace("Á","a",$nombre);
   $nombre= str_replace("É","e",$nombre);
   $nombre= str_replace("Í","i",$nombre);
   $nombre= str_replace("Ó","o",$nombre);
   $nombre= str_replace("Ú","u",$nombre);
   $nombre= str_replace("Ñ","n",$nombre);
   $nombre= str_replace("ñ","n",$nombre);
   $nombre= eregi_replace("–","_",$nombre);
   $nombre= str_replace("(","[",$nombre);
   $nombre= str_replace(")","]",$nombre);
   $nombre= str_replace(" ","_",$nombre);
   $nombre= str_replace("@","a",$nombre);
   $nombre= str_replace("&","y",$nombre);
   $nombre= str_replace(" ","",$nombre);
   $nombre= str_replace("war4.org","",$nombre);
   $nombre= str_replace("'","",$nombre);
   $nombre= str_replace('"',"",$nombre);
   $nombre= str_replace("´","",$nombre);
   $nombre= str_replace("!","",$nombre);
   $nombre= str_replace("¡","",$nombre);
   $nombre= str_replace("#","",$nombre);
   $nombre= str_replace("$","",$nombre);
   $nombre= str_replace("%","",$nombre);
   $nombre= str_replace(",","",$nombre);
   $nombre= str_replace("*","",$nombre);
   $nombre= str_replace("+","",$nombre);
   $nombre= str_replace("__","_",$nombre);
   $nombre= str_replace("jpeg","jpg",$nombre);
   if($arc_tmp!=$nombre){
      rename($path.$arc_tmp,$path.$nombre);
   }
   $ext= substr($nombre,-3,3);
   if($ext=="jpg"){
      $imagen =  "<imagen>".$path.$nombre."</imagen>";
      echo $imagen;
   }
}
$directorio->close();
echo '</slide>';
?>



Esto deberia funcionar, por eso te digo que yo creo que el problema le tengo en el flash.... algo hago mal.
Y fijate que es una zona para poner una foto.... y un boton de adelante y otro para atras.....

Por elBecario

1 de clabLevel



 

msie7
Citar            
MensajeEscrito el 11 Jun 2009 10:13 am
Yo soy muy malo con el parseo firstChild.childNodes.firstChild, pero eso no es algo muy complicado, mas bien tedioso. Para descartar errores de la comunicación PHP-flash, prueba primero con un XML estático, una vez que lo tengas funcionando, cámbiate al dinámico

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.