Yabuti
Всем привет!
Подскажите пожалуйста, кто знает, как можно сделать так, чтобы функция, которая требует время на свое выполнение (склейка песен, ffmpeg), нормально обрабатывалась в цикле, который дает ей поочередно много исходных данных?
Т.е., есть такое:
function super($text) {
_тут_склейка_песен_
(занимает 2-3 минуты на обработку)
return "OK";
}
for ($i=0;$i<count($array);$i++) {
super(array[$i]);
}
--------------
Делаю так, как выше - т.е. функция склейки, а вызываю ее для каждой строки (имена файлов для склейки) в цикле.
Но проблема в том, что она поработает первый цикл и затем тупит, завершается.
Подскажите пожалуйста, как сделать так, чтобы цикл ждал, пока функция выполнится на 100%, затем только делал следующую итерацию?
Не знаю, как искать в гугле такое, мучаюсь с завершением цикла, не выполнившегося так, как нужно.
Заранее огромное спасибо!
AWD
читаю твои мысли... теперь код... нету в начале пых-файла set_time_limit(0); ?
уж очень мало информации, а у меня трава закончилась. в астрал без нее ну никак...
и забудь за
Код:
for ($i=0;$i<count($array);$i++) {
super(array[$i]);
}
делай
Код:
foreach($array as $val)
super($val);
Yabuti
AWD: огромное, огромное спасибо! Получилось!
Сорри, забыл написать, что тайм-лимит и лимит памяти задал:
Код:
set_time_limit (90000);
ini_set('memory_limit', '512M');
ini_set('max_input_time', '9000');
Создаются все, в порядке очереди. Я так рад, что не придется кнопку на каждый трек жать, ура!
shar: да, через exec вызываю, но dev null нет, т.к. винда.