Перейти к содержанию
СофтФорум - всё о компьютерах и не только

как открыть файл через командную строку в html


Рекомендуемые сообщения

На веб-странице делаю ссылку на файл exe с параметрами

*.расширение 1 *.расширение 2 - имена входных и выходных файлов.

Это работает в командной строке в Volkov Commander, но здесь не проходит. Как быть?

Ссылка на комментарий
Поделиться на другие сайты

Вообщем этого сделать нельзя.

Когда вы даете ссылку на .exe, пользвател должен сначало скачать а после этого запустить, так что параметри от самой странице нельзя установит. Напишите пользвателям инструкцию как пользувать программу

Еще если вам нужно установить некоторые параметри в .exe перед тем как польватель скачал его, нужно его пре-пачить, т.е. чтоб ссылка не была на .exe а на PHP скрипт, который откроеть файл, сделаеть изменения и отправить его к браузеру. Но это только если вы знаете что вам нужно именно это и если вы автор .exe файла, т.е. у вас есть изходний код, и только если возможно ссылки на .exe отправить на php / perl скриптов

Ссылка на комментарий
Поделиться на другие сайты

А ты не можешь написать: этот скрипт PHP, какой он должен быть? Что он делает или как называется?

Спасибо ;)

Ссылка на комментарий
Поделиться на другие сайты

Что он делает ты уже сам будешь определять. Факт в том, что у пользователя на компе ты ничего с файлом сделать не сможешь, максимум - ты можешь закачать его пользователю, но все равно у пользователя выскочит сообщение с вопросом скачивать этот файл или нет. А то что тебе предложил Darhazer нужно в том случае, если ты, для примера, хранишь файл основная часть которого для всех одинаковая, но, например, чтобы зарегистрировать программу, надо этот файл подправить определенным образом, вот тогда ты его и подправляешь своим скриптом. Да, этот скрипт позволяет и переименовывать файлы тоже, но пользователь все равно получит файл с конечным разширением и согласие он будет давать на файл с конечным разширением. Этот способ подходит только в том случае, если у тебя на сервере нельзя хронить файлы с таким разрешением.

P.S. На счет написания готового скрипта ко мне не обращайся, я этим не занимался никогда и скорее всего не скоро руки дойдут разобраться что к чему...

Ссылка на комментарий
Поделиться на другие сайты

Я имел в виду, чтобы некоторый процесс запускал файл на сервере, так сказать, например, через php, а не у клиента ;) и клиент видел только результаты в виде файла конечного - он-то и пишется в командной строке

Пользователь ничего не должен сам писать. М.б. только имена этих файлов, а все должно запускаться без его ведома. Выходной файл генерируется на сервере .

И появляется содержимое этого файла на странице. Прога работает через сервер.

Ссылка на комментарий
Поделиться на другие сайты

Я имел в виду, чтобы некоторый процесс запускал файл на сервере, так сказать, например, через php, а не у клиента ;) и клиент видел только результаты в виде файла конечного - он-то и пишется в командной строке

Пользователь ничего не должен сам писать. М.б. только имена этих файлов, а все должно запускаться без его ведома. Выходной файл генерируется на сервере .

И появляется содержимое этого файла на странице. Прога работает через сервер.

Если на сервере, то тогда тебе нужна ссылка не на самого файла, а на скрипт, котоый запустить файл и покажеть потом резултать. К стате, хостери обично запрещяють юзать подобних скриптов

В PHP можно пользувать:

passthru( "some.exe *.расширение 1 *.расширение 2 - имена входных и выходных файлов");

Или

$result = system( "some.exe *.расширение 1 *.расширение 2 - имена входных и выходных файлов");

echo $result;

Изменено пользователем Darhazer
Ссылка на комментарий
Поделиться на другие сайты

Если на сервере, то тогда тебе нужна ссылка не на самого файла, а на скрипт, котоый запустить файл и покажеть потом резултать. К стате, хостери обично запрещяють юзать подобних скриптов

В PHP можно пользувать:

я в PHP чайник, ты не подскажешь, как это обычно делается - там обычно надо создавать файл, потом стирать и т.п. В хтмл все просто, а здесь есть какой-то исходник для любого файла пхп, куда можно вставить этот код, и все заработает? Как все делается по шагам?

Можно ли просто аплоудить файл пхп с этим кодом?

Спасибо.

Ссылка на комментарий
Поделиться на другие сайты

Привет

Во первых, чтоб запустил .exe тебе нужен сервер с Windows и чтоб разрешено было запускать программ

Во вторих, скрипт точно такой же:

<?phppassthru( "команда и ее параметри");?>

Если работаеш под *nix, тебе нужна программа, которая работаеть под этой ОС, надо ей дат +x (chmod 777 например) и скрипт опять такой же:

<?phppassthru( "команда и ее параметри");?>

Попробуй залить сам PHP скрипт и открить его в браузере (набрать адрес скрипта) и увидеш работаеть ли он или нет

А потом сделаеш и необходимие изменения в HTML

Ссылка на комментарий
Поделиться на другие сайты

Что я точно знаю, так это то, что у меня есть сайт, на котором можно загружать файлы через ftp. Скорее всего, там не видноусовский сервер, но как это узнать? Если он не винд-й, то что надо делать? Мне нужно очень четко понять (если Юникс сервер):

если я 1) загружу на мой сайт файл .exe, файл входной как первый параметр, и 2) после запуска скрипта на php - будет ли исполняться этот файл (даже если необходимо еще что-то сделать)? И сохранять результат в файл второго параметра?

Что значит программа, раб. под Юникс? Моя, которую я хочу залить или другая?

Надеюсь, ты не пропустил, что моя прога работает через командную строку, а не просто. Как это будет реализовываться через php и инет?

Ссылка на комментарий
Поделиться на другие сайты

Привет

Какая ОС на сервере можно узнать если сделаеш php файл:

<?phpphpinfo();?>

Загружаеш на сервер и откриваеш в браузер

Под Unix / Linux .exe просто не будеть работать. Оно работаеть только под Windows

А что делаеть это .exe? Возможно можно сделать операцию и с софтом, который есть на сервере?

Ссылка на комментарий
Поделиться на другие сайты

Программа вычислительная, считает уравнения всякие.

Но если там unix, то разве нельзя придумать к-н. фичу, чтобы запустить в обход?

А где можно взять сервер с виндами? или могут ли дать эти хостеры сервер с виндами? они могут изменить тип ОС?

если прога запускается только из командной строки vc (dos), то это будет влиять на ее запускабельность через инет?

Ссылка на комментарий
Поделиться на другие сайты

делаю скрипт запуска .bat через php. на сервере стоит Вин (вроде бы).

А если бы там был Юникс, батник запустился бы?

почему passthru не запускает exe? сам батник вроде бы запускается, по крайней мере создает файлы, копирует и т.д.

А вот exe файл - нет. И сам php с passthru "зависает" - действия он выполняет нужные, но страница до конца не открывается.

Изменено пользователем Darhazer
Ссылка на комментарий
Поделиться на другие сайты

Вообщем это вопрос по операционних систем

bat-ник запустился бы если это валидний bash или sh скрипт, так как bat - это команди для облочки Windows, а у Unix стоить другая облочка

Насчет passthru - пробували вы запустить его не через passthru а через system()

passthru перенаправляеть весь output программы к браузеру и возможно если программа показиваеть чтото другое кроме текста в конзоли, чтоб не работала

Ссылка на комментарий
Поделиться на другие сайты

Кто из гуру поможет разобраться в необъяснимой ошибке:

Все говорится о файлах, лежащих в корневой директории сервера под Windows.

1) файл a.php

<?php

passthru ("d:\hst\имя директории\http\a.bat");

?>

2) файл a.bat, который д.быть запущен из php:

d:\hst\имя директории\http\pkunzip.exe d:\hst\имя директории\http\1.zip

Должен происходить запуск батника, к-рый запускает распаковщик файлов pkunzip с параметром командной строки 1.zip - раскрывает архив 1.zip. Должен извлечься файл 1.txt

3) захожу на страницу a.php.

Потом проверяю, извлекся ли файл. Нет!!!! Почему?

В чем ошибка? Как правильно сделать?

Перепробовал и system(), и exec() и другие способы. Дубово стоит на одном месте. :greedy:

Подскажите, я уже валюсь от усталости в этом разбираться.

p.s. То есть в корневой папке моего сайта.

Ссылка на комментарий
Поделиться на другие сайты

Гость avb_constructor

А зачем так сложно? :bye1:

Батник можно и без php запускать. Он ведь у тебя должен распаковать zip-архив с помощью pkunzip'a? Ну, тогда просто этот батник со строчкой , которую ты написал, запускаешь и всё.

Может быть, проблема еще и в том, что ты не так записал параметр pkunzip'a для распаковки архива. Проверь, так ли ты всё пишешь?

А самый главный нюанс в том, что если ты работаешь в ХРюше, то твои действия - совершенно бессмысленные, т.к. во-первых, она больше не поддерживает многие мсдосовские команды (по крайней мере, большинство прог (если не все), которые работали в MS-DOS, не работают в ХРюше), а во-вторых, у ХРюши есть встроенное средство для распаковки zip-архивов и называется zip-папкой.

Ссылка на комментарий
Поделиться на другие сайты

Покажите содержимуе phperrors.log или настройте PHP показивать всех ошибок на екране

Также допишите после passthru()

echo "OK";

чтоб увидеть доходить ли скрипт вообще до конца

Ссылка на комментарий
Поделиться на другие сайты

у меня XP, но ведь я запускал из батника, даже команды выполнялись некоторые (например, создание директории) - этого бы не было, если написать просто в XP в проводнике, к примеру.

Значит, командная строка запускалась сама, как и должно быть при нажатии на батник.

Дело только в том, что экзешники при этом не запускались. Значит, проблема была в них. Как оказалось, это было из-за того, что pkunzip.exe - старый досовский файл, а уже более новый unzip.exe - он запустился прекрасно, и получилось то, что нужно.

Но это было странно, т.к. на моем компе запустился даже pkunzip.

М.б. на сервере было что-то другое, или специальные параметры доса, или его там нет :)

Вывод: запускаться должны приложения win32, работающие с командной строкой (если таковые имеются). Следующий шаг - запустить такое приложение, которое я хотел.

У меня получилось без батника прямо из php.

Спасибо.

и еще: действительно ли нельзя НИКАКИМ способом запустить exe на сервере под другую ОС (включая различные ухищрения) :)

просто сервер под Win дорого стоит. раз в 5 дороже у моего хостера.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...