![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| SergeyMitrofanov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
Очень прошу мне помочь в решнии важного вопроса - не могу научиться запускать из PHP-кода функцию system (). Есть исполняемый файл - ABC.exe, получен из кода, написанного на С, в результате работы ABC.exe появляется текстовый файл, который пишется в ту же директорию, в которой находится ABC.exe, больше эта DOS-программа ничего не делает, ничего в потоки не выдает. В коде PHP вот такая строка system ("ABC.exe"); не работает. :-( Работаю под последним Денвером for Windows XP. |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Помойму путь надо указывать полностью, посмотрите там примеры внизу : http://ru.php.net/system
|
|||
|
||||
| SergeyMitrofanov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
К сожалению, полный путь не помогает Код на PHP - файл first.php - у меня такой: <?php $dir = opendir ("/home/test.ru/www"); chdir ("/home/test.ru/www"); system ("abc.exe"); //exec (escapeshellcmd ("dos_htm d_long2.cpp")); ?> Код abc.exe: - Compilier: ВС++ 3.1 for DOS # include <stdio.h> # include <conio.h> int main () { FILE * F; F = fopen ("abc.txt", "wb"); fprintf (F, "12345"); fclose (F); return 0; } Работаю на Denwer - Apache 1.3.33 Win32 и PHP 5.1.6 В чем моя ошибка? Что делаю не так? Файл abc.exe находится в C:\WebServers\home\test.ru\www Help! Это сообщение отредактировал(а) SergeyMitrofanov - 2.9.2007, 15:55 |
|||
|
||||
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
SergeyMitrofanov,
Файл точно лежит в той же директорие что и скрипт и он точно может выполнять запрос, просто при обращение к нему, а не при манипуляциях с ним? |
|||
|
||||
| SergeyMitrofanov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 30.1.2006 Репутация: нет Всего: нет |
-- да, файл с кодом на PHP и файл abc.exe лежат в одной и той же директории /home/test.ru/www Если просто зайти в эту директорию и запустить вручную файл abc.exe, то он сработает и создаст файл abc.txt Denwer поставлен с нуля со всеми стандартными установками *.ini Windows XP лицензионная тоже установлена с нуля. Работает большой по объему код на PHP безукоризненно, кроме вызова system (). Это единствеенное, что не работает. |
|||
|
||||
| sTa1kEr |
|
|||
|
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
SergeyMitrofanov, попробуйте ради эксперимента выполнить следующий код
Это аналогично system("abc.exe"), но все что пришло в STDERR будет выведено на экран. |
|||
|
||||
| vdim |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 19.4.2008 Репутация: нет Всего: нет |
А можно ли брать все что пришло в STDERR не после того как программа отработала, а сразу же как случился вывод? Т.е. моя программа на си выводит в стандарный поток много инфы, работает долго. Необходимо отображать все что вывела сразу же юзеру на страничку. Можно ли такое? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
SergeyMitrofanov, проблема в том, что вы используйте system, и если бы вы обратили внимание на ссылку, которую вам привел gta4kv,
Исполняемый файл - не одно и тоже, что команда. Потом, вы же ничегов exe файлы в STDOUT не посылаете, следовательно после выполнения system (при определенных условиях - сработает) вы ничего не сможете лицезреть. Вам надо воспользоваться exec, при этом указать полный путь, не забыв при этом, что в винде слеши используются - обратные, которые еще надо проэкранировать. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |