Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Прием массива из php скрипта (http://www.flasher.ru/forum/showthread.php?t=111923)

Tfp 12.05.2008 23:25

Прием массива из php скрипта
 
нужен скрипт в php который заносит имена файлов по маске в масив в указаной директории
и код который бы принимал етот масив во флеше..
поможыте плиз
PS нужен именоо AS3 скрипт приема)
php скрит в моем понимании выглядит так
Код:

<?php
$dir = 'path/';//path
$d = dir($dir);//class
$arrayFiles = array();
while (false !== ($file = $d->read())) {//find files and dirs
if (!is_dir($dir.'/'.$file)) array_push($arrayPeople,"$file"); //fill array
}
$d->close();//close =)
echo $arrayFiles;//отправили масив
?>

если отправить массив невозможно то можно пример с тассировкой)
priem_btn.text = String(loader.data);
результат приема таков "Array"

вод код AS3 что я юзаю
Код:

var out:URLLoader = new URLLoader();
                       
                        function sendData(evt:MouseEvent):void
                        {
                                var vars:URLVariables = new URLVariables();
                                var request:URLRequest = new URLRequest("test.php");
                                request.method = "POST";
                                vars.num = Number(in_tf.text);
                                request.data = vars;
                                out.load(request);
                                out.addEventListener(Event.COMPLETE,onData);
                        }
                       
                        function onData(evt:Event):void
                        {
                                result_btn.text = String(out.data);
                        }


Alex Lexcuk 12.05.2008 23:39

Код:

<?php
//GaleryScoresText.php
$dd=opendir(getcwd());
$my_string="";
while (true)
{
 $cur=readdir($dd);
if ($cur=="") break;
if ( (strpos($cur,"jpg")==true) or (strpos($cur,"JPG")==true) )
$my_string=$my_string."|".$cur;
}
closedir($dd);
$my_string=$my_string."|";
echo "GaleryScoresText=".$my_string;
?>

Вызвать из эксплорера ИЕ7 для проверки
http://dnadillo.dn.ua/images/imag/GaleryScoresText.php
результат
GaleryScoresText=|magna_17_1024.jpg|magna_33_1024.jpg|magna_carta_078.JPG|magna_carta_115.JPG|magna_carta_126.JPG|magna_carta_127.JPG|magna_carta_131. JPG|magna_carta_133.JPG|magna_carta_140.JPG|magna_carta_141.JPG|magna_carta_144.JPG|

Вызвать из флеша
Код:

//D:\Apache\www\mur_gallery\php\my_load_php.as
package
{

 import flash.net.*;
 import flash.events.*;
 
    public class my_load_php
    {
                var url:String;
                var request:URLRequest;
                var variables:URLVariables;
                var loader:URLLoader;
                var vars:URLVariables;
                var privat_func:Function;
                var privat_trigger:Boolean;               
                //constructor
                function  my_load_php(php_path_str:String,outside_func:Function,outside_trigger:Boolean)
                {       
                privat_func=outside_func;
                privat_trigger=outside_trigger;
                url = php_path_str;
        request = new URLRequest(url);
        variables = new URLVariables();
//            variables.exampleSessionId = new Date().getTime();
//            variables.exampleUserLabel = "guest";
        request.data = variables;
        loader = new URLLoader();
        configureListeners(loader);
        try {
            loader.load(request);
            }
        catch (error:Error)
            {
              trace("Unable to load requested document.");
            }
     
                }
               
                //methods
        function configureListeners(dispatcher:IEventDispatcher):void
                {
            dispatcher.addEventListener(Event.COMPLETE, completeHandler);
                }
               
               
        function completeHandler(event:Event):void
                {
            loader = URLLoader(event.target);
            trace("completeHandler: " + loader.data);
            //trace("completeHandler: " + loader.data.GaleryScoresText);
            vars = new URLVariables(loader.data);
            trace("The GaleryScoresText is " + vars.GaleryScoresText);
            privat_func();        //return vars.GaleryScoresText;
        }
               
        public function return_after_load():String
        {
                return vars.GaleryScoresText;
                        privat_trigger=true;
        }
   
        }//finish public class my_load_php
}//finish package

output
...
magna_17_1024.jpg
magna_33_1024.jpg
magna_carta_078.JPG
magna_carta_115.JPG
magna_carta_126.JPG
magna_carta_127.JPG
magna_carta_131.JPG
magna_carta_133.JPG
magna_carta_140.JPG
magna_carta_141.JPG
magna_carta_144.JPG

Это уже давно написано, в разделе актионскрипт с нуля, но так так этот раздел никто не читает... хоть и не в тему
http://dnadillo.dn.ua/mur_gallery/php/AC3_PHP.swf
http://dnadillo.dn.ua/mur_gallery/ph...ScoresText.txt
http://dnadillo.dn.ua/mur_gallery/ph...ry_AC3_PHP.rar

Tfp 12.05.2008 23:49

спасибо, я читал но там не очень удобно лучше б сделали в первом посте ссылки на примеры))) а то пролистывать 30 страниц в поиске нужных примеров не каждый осилит).. поиск я юзал первым делом но он мне ничего не дал...
вощем лан вы наверно уже 100 раз ето проходили...опять таки большое спасибо обязуюсь весь раздел прочитать.. тогда осилил первые гдето 7 и поледние 7)

etc 12.05.2008 23:53

Tfp, отредактируйте свой пост и оформите код тегами [code][/code].

Tfp 13.05.2008 04:10

токо разобрался в коде что все работало как нада)
даже добавил выбор папки:) а то пихать php скрипт во все подпаки с картинками запаришся

а масив я так понял нельзя чтоб пхп вернул флешу?

etc 13.05.2008 09:40

Цитата:

Сообщение от Tfp (Сообщение 738835)
а масив я так понял нельзя чтоб пхп вернул флешу?

Это невозможно без конвертации принятого потока в этот самый массив.

Alex Lexcuk 13.05.2008 09:41

Moжно конечно, я тоже не люблю легких путей. Однако, скрипт должен быть простым... т.е. можно, но я не знаю как.

etc 13.05.2008 09:43

Цитата:

Сообщение от Alex Lexcuk (Сообщение 738844)
Moжно конечно, я тоже не люблю легких путей. Однако, скрипт должен быть простым... т.е. можно, но я не знаю как.

Проще было использовать XML, чем ковыряться со строками.

Alex Lexcuk 13.05.2008 15:57

Проще, конечно, но XML надо писать, а php cам берет рисунки из папки, сколько их бы там не было. Преимущества на лицо. Кинул рисунок в папку, а он уже и во флеш гелерее. Другое дело описание рисунка и URL, который посылает киндера по указанному адресу, ну так... нет предела совершенству.

etc 13.05.2008 17:59

А xml php типа вывести не может?


Часовой пояс GMT +4, время: 00:24.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.