Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Как узнать результат выполнения ERRORLEVEL для ``? (KaMPiLeR)
Author Message
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Tue Dec 11, 2007 3:00 pm (написано за 26 секунд)
   Post subject: Как узнать результат выполнения ERRORLEVEL для ``?
Reply with quote

???
Back to top
View user's profile Send private message
dimagolov
Участник форума



Joined: 04 Feb 2007
Posts: 1664
Карма: 96
   поощрить/наказать

Location: Christ Church, Barbados

PostPosted: Tue Dec 11, 2007 7:29 pm (спустя 4 часа 28 минут; написано за 19 секунд)
   Post subject:
Reply with quote

краткость сестра таланта, но не до такой же степени.....
Back to top
View user's profile Send private message
Advanced Guest
Guest





Карма: 388
   поощрить/наказать


PostPosted: Wed Dec 12, 2007 2:56 am (спустя 7 часов 27 минут; написано за 1 минуту 19 секунд)
   Post subject:
Reply with quote

dimagolov,
А что непонятно?
В php есть команды для запуска в "оболочке", shell_exec например, `` это её аналог.
Когда Вы запускаете в досе какой-нибудь программа, то она может возвращать errorlevel.
Но поскольку он в output не печатается, то узнать его просто так нереально.
Отсюда вопрос - как это сделать
Back to top
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Dec 12, 2007 3:36 am (спустя 40 минут; написано за 50 секунд)
   Post subject:
Reply with quote

если знаете про обратные кавычки, то может быть внимательнее почитаете текст по ссылке php.net/manual/ref.exec.php ?
Back to top
View user's profile Send private message
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Wed Dec 12, 2007 3:47 pm (спустя 12 часов 10 минут; написано за 4 минуты 43 секунды)
   Post subject:
Reply with quote

ok. Сенкс.
Как я понял существует несколько функций для запуска:
shell_exec - это аналог обратных кавычек, поэтому ERRORLEVEL этой функцией не посмотришь.
есть другая - exec.
У нее в качестве параметров можно задать переменную куда будет занесен результат выполнения.

Но попробывав ее в качестве распаковки RAR-архива, закаченного через HTTP, у меня скрипт умер.
Висит и не отвечает. Возможно это связано с примечанием, но обработчик закаченного архива у меня не работает в качестве демона.
Почему же он повис??
Quote:
Note: Если вы собираетесь использовать эту функцию в программе, работающей в качестве демона, убедитесь, что стандартный вывод функции направлен в файл или другой поток, в противном случае PHP зависнет вплоть до конца выполнения программы.
Back to top
View user's profile Send private message
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Wed Dec 12, 2007 4:08 pm (спустя 21 минуту; написано за 1 минуту 49 секунд)
   Post subject:
Reply with quote

обратные слеши нормально отрабатывают - нельзя посмотреть результат,
exec - зависает, но судя по документации - можно.
Даже ответ Юрия тут (forum.dklab.ru/php/heap/ProblemaPriPolucheniiRezultataVipolneniyaVneshneyProgrammi.html?highlight=shell_exec%2A+shell_exec) - не помог.
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Wed Dec 12, 2007 9:27 pm (спустя 5 часов 18 минут; написано за 39 секунд)
   Post subject:
Reply with quote

KaMPiLeR
Попробуйте весь вывод перенаправить в файл. Также могу предложить попробовать семейство функций proc_open() [ ru2.php.net/proc_open , смотрите сразу примеры ]
Back to top
View user's profile Send private message Send e-mail
KaMPiLeR
Участник форума



Joined: 20 Oct 2003
Posts: 127
Карма: -6
   поощрить/наказать


PostPosted: Thu Dec 13, 2007 12:58 am (спустя 3 часа 31 минуту; написано за 2 минуты 44 секунды)
   Post subject:
Reply with quote

Юрий Насретдинов
Сенкс, то что нужно.
В дельфях тож так - простое через ShellExecute, а pgp через API. Забыл уже ))

Вопрос - вызываю rar32.exe, env никак правильно заполнить для него не могу. Я конешно вставил в первый параметр proc_open, но всетаки хочется для чистоты кода...
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Thu Dec 13, 2007 2:13 am (спустя 1 час 15 минут; написано за 20 секунд)
   Post subject:
Reply with quote

KaMPiLeR
Работает :)?
KaMPiLeR wrote:
но всетаки хочется для чистоты кода...
Ну если работает, можете и не заполнять ничего :).
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML