Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   проверка существования файла (http://www.flasher.ru/forum/showthread.php?t=108771)

resio 28.02.2008 21:22

проверка существования файла
 
Перед загрузкой файла хочу проверить есть он или нет.
Может есть какой способ сделать это?
заранее благодарен.

BlooDHounD 28.02.2008 21:48

есть. попробовать загрузить. если файла нету, выскачит ошибка IO_ERROR.

vic_ 28.02.2008 23:18

через скрипт на сервере

etc 28.02.2008 23:19

resio, а чем вы его грузить собираетесь?

resio 28.02.2008 23:37

то есть другого способа нет во flash только такой?
Код:

//Функция для отправки запроса к скрипту
public function TestFile(__filename:String,__dirname:String,__sprite:Sprite):void {
        var dataLoader:URLLoader = new URLLoader();
        var dataSendVariable:URLVariables = new URLVariables();
        dataSendVariable.File = __filename;
        dataSendVariable.Dir = __dirname;
        var dataRequest:URLRequest = new URLRequest("http://127.0.0.1/cgi-bin/filetest.pl");
        dataRequest.method = URLRequestMethod.POST;
        dataRequest.data = dataSendVariable;
        dataLoader.load(dataRequest);
        dataLoader.addEventListener(Event.COMPLETE,EventComplete);
        function EventComplete(event:Event):void{
                var _temp_:String = dataLoader.data;
                if(_temp_ == "true") {
                        //файл есть сделать что-то
                }else{
                        //файла нет сделать что-то
                }
        }
}

Код:

#filetest.pl
#!/usr/bin/perl
use CGI ':standard';
my $filename = param('File');
my $dirname = param('Dir');
print "Content-type: text/html\n\n";
if(&finddirs($dirname,$filename)) {
        print "false";
}else{
        print "true";
}
sub finddirs {
        my $param1 = @_[0];
        my $param2 = @_[1];
        my $tempfilename;
        opendir(DIR,$param1);
        while($tempfilename = readdir(DIR)) {
                if($tempfilename ne ".") {
                        if($tempfilename ne "..") {
                                if($tempfilename eq $param2) {
                                        closedir(DIR);
                                        return 0;
                                }
                        }
                }
        }
        closedir(DIR);
        return 1;
}

доработал может кому пригодится))

etc 29.02.2008 01:09

Можно прерывать загрузку на событии OPEN, считая, что файл существует.


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

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