Как заставить страницу продолжать загружать файл (.txt), даже если его еще нет? - PullRequest
0 голосов
/ 03 апреля 2011

Я хочу загрузить текстовый файл, которого пока нет. Я имею в виду, я получу статус ожидания от сервера. И страница будет получать ответ 200 статус от сервера только тогда, когда файл TXT там. Или нет способа сделать это?

Ответы [ 2 ]

2 голосов
/ 03 апреля 2011
$.post("your/url", {}, function(file) {
    // since this is a success callback, once you are inside this block,
    // you got your file.
    // If you return anything other than 200 OK, this callback wouldn't get called
});
2 голосов
/ 03 апреля 2011
do{
$file = @file_get_contents("file.txt");
sleep(1);
}while(empty($file));

Если мы говорим об удаленном сервере, вы должны использовать cURL и «загружать» файл каждые пару секунд, если строка пуста, значит, файла нет.Это нужно проверить асинхронно.

function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_close ($ch);
    return curl_exec($ch);
}

do{
    $file = curl("http://example.com/file.txt");
    sleep(5);
}while(empty($file));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...