PHP-GTK, немедленная запись в TextBuffer

BRat

o_0
PHP-GTK, немедленная запись в TextBuffer

Попросили написать програмку для обновления игры Timezero (стандартная криво работает с нашим прокси). Решил писать на php, т.к. давно хотел познакомиться с php-gtk.
Имеется код обработчика клика на кнопку Update ($txtInfo - обьект класса GtkTextView). Хочется чтобы при нахождении необновленного файла оперативно обновлялся текст в $txtInfo. Как можно это сделать? Сейчас он обновляется только после прохождения обоих циклов, до этого же времени программа виснет.

PHP:
function updateTZ($wnd, $txtPath, $txtInfo) {
    $buffer = new GtkTextBuffer();
    $txtInfo->set_buffer($buffer);
    $path_to_tz = str_replace('\\', '/', rtrim($txtPath->get_text(), '/\\'));
    $files = recursiveGetFileNames($path_to_tz);
    $tz_update_list = array_map('trim', file("http://game.timezero.ru/tzupd2.ini"));

    foreach ($tz_update_list as $update_data) {
            if (strlen($update_data)) {
                list($update_md5_file, $update_file) = explode(' ', $update_data);
                foreach ($files as $file) {
                    if ($file == $update_file && md5_file($file) != $update_md5_file) {
                        $buffer->insert($buffer->get_iter_at_offset($buffer->get_char_count()), "Updating file - ".$file."\n");

                        usleep(1000);

                        $update_file_contents = file_get_contents("http://game.timezero.ru/".$file);
                        $descr = fopen($file, 'w+');
                        fwrite($descr, $update_file_contents);
                        fclose($descr);

                        break;
                    }
                }
            }
    }
}
 

BRat

o_0
слышал. Я думал средствами самого GTK как-нибуль можно
 

kode

never knows best
Это немного не то. сURL - это внешняя библиотека, она там всё что хочет делать ожет, хоть kernel trap вызывать. Я говорю про многопоточность средствами PHP.
 
Сверху