Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   можно ли через PHP зпгрузить в мув тест из файла *txt (http://www.flasher.ru/forum/showthread.php?t=76796)

3r0jan 12.03.2006 20:17

можно ли через PHP зпгрузить в мув текст из файла *txt
 
значится так ... в кнопке в муве делаю вот это
Код:

submit = "braslet"
        loadVariablesNum("db.php", 0);
        str = DataAr
        out2 = "";
                my_arr = str.split("&");
                for (p=Number(nomer)+1; p<max_nomer; p++) {
                        out2 += my_arr[p]+"&";
                }
                my_arr = my_arr[nomer].split(",");
                my_arr0 = my_arr[0];
                my_arr9 = my_arr[9];

нажимаю значит на неё отправляю переменную submit в PHP с кодом
Код:

$filenameout = "$submit.txt";
        $fp = fopen( $filenameout,"r");
        $Data = fread($fp, 80000);
        fclose( $fp );
        print "DataAr=$Data";

ну и ожидал получить данные в мув и там уже существующим кодом их расщипить и забить в нужные окна как показанно в первом коде... в ответ получаю undefined... где не так зделал ? помогите а ?

serzhman 12.03.2006 20:46

В PHP echo наверное надо писать. И вообще я пользуюсь sendAndLoad для передачи данных и их получения от PHP скрипта. Получаю данные на событие onData.

3r0jan 12.03.2006 21:32

ЧТО В php И ЧТО В Flash пишеш не выложиш глянуть ? ато чтот невсеку никак (((

Antares 13.03.2006 01:29

onData? И сам их ручками парсишь? Ужас.
Flash Remoting рулит.

son_of_war 13.03.2006 07:07

Дело все в том, что операции по передаче данных по сети флэш выполняет асинхронно. Это из за того, что данные могут ходить по сети долго или вообще не придут в итоге. Когда придут данные возникает событие, в котором и надо их обрабатывать. То есть если ты пишешь в одной строке команду - запрос к внешнему скрипту и тут же пытаешься обрабатывать полученные данные - работать не будет, так как данные не пришли еще...

Как обрабатывать событие зависит от того под какую версию флэшплеера ты пишешь...

Если ты работаешь под 5, то тебе надо создать клип и в нем указать обработчик onClipEvent(data) и этому же клипу давать команду loadVariables
Если под 6 и выше, то можно оставить loadVariablesNum... как у тебя и указать обработчик _root.onData = function(){
}, где можно производить обработку данных
Опять же начиная с 6 версии появился отдельный объект для передачи данных, называется loadVars, если позволяет версия флэшплеера советую использовать его (кстати sendAndLoad - это как раз один из методов объекта loadVars)

3r0jan 13.03.2006 19:57

блин слишком замароченно =// не разберусь походу ((( а если на прямки TXT читать с сервака ? ну тоесть сделать чтото типа проверки загружен файл или нет (у меня читает его из кэша а надо чтоб с сервера грузил из за этого и вся замута)

son_of_war 14.03.2006 06:18

Все правильно, что кэширует, чтобы на кэшировал нужно специальные заголовки слать, опять таки из скрипта, вот попробуй так - из твоего же кода составлено:
var my_lv = new LoadVars();
my_lv.onLoad = function(success) {
if (success)
{
str = my_lv.DataAr;
out2 = "";
my_arr = str.split("&");
for (p=Number(nomer)+1; p<max_nomer; p++) {
out2 += my_arr[p]+"&";
}
my_arr = my_arr[nomer].split(",");
my_arr0 = my_arr[0];
my_arr9 = my_arr[9];
}
delete(my_lv);
}
my_lv.load("db.php");

3r0jan 14.03.2006 16:53

ок ... спасибо попробую... )

3r0jan 14.03.2006 18:40

а как зделать чтоб это читалось не с кэша а с сервака ? чтото между кодами схожее есть только никак не допру
Код:

var my_xml:XML = new XML();
        var fname:String = submit+".txt";
        my_xml.ignoreWhite = true;
        my_xml.onData = function(str) {
                          my_arr = str.split("&");
                for (p=Number(nomer)+1; p<max_nomer; p++) {
                        out2 += my_arr[p]+"&";
                }
                my_arr = my_arr[nomer].split(",");
                my_arr0 = my_arr[0];
                my_arr1 = my_arr[1];
                my_arr2 = my_arr[2];
                        };
        my_xml.load(fname);


__i 14.03.2006 19:09

В пхп пишешь
Код:

header("Pragma: no-cache");
подробнее почитай хелп по этой функции


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

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