Как запустить файл через html

Обновлено: 03.07.2024

Я хочу открыть исполняемый файл через ссылку в файле HTML.

Является ли это возможным? Если да, то как?

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

Из-за соображений безопасности это невозможно, и, вероятно, лучше, чтобы он оставался таким образом.

Следующий код работает, но только на машине, на которой существует программа:

Вы можете сделать это

это единственный способ, который я вижу:

Вы можете написать объект Active-X, который работает только в Internet Explorer.

Это не exe, но это самое близкое, что вы сможете запустить exe.

Надеюсь, что это поможет.

На работе я компьютер (bummer - я фанатик MAC) и Firefox. Код, который работал у меня в Firefox, и ссылка работает только внутри, была <a href = "file:///c:/Myfolder/Myprogram.exe"> .

И он работает ТОЛЬКО, если вы щелкните правой кнопкой мыши по ссылке и выберите Open Link в Ext.App. Просто щелкнув по самой ссылке, вы попросите пользователя сохранить файл .exe, а затем запустите его.

Я не мог заставить его работать в IE или Firefox с помощью <a href = "c:/Myfolder/Myprogram.exe">

На локальном компьютере вы можете сделать это с легкостью, поэтому вам нужно просто создать собственный протокол, например, тот, который используется Skype или iTunes для запуска собственных приложений Windows: - Пользовательский протокол должен быть создан в реестре Windows путем добавления запись как здесь:

слово в Blod ACCapp - это имя пользовательского протокола, который будет использоваться в вашей ссылке html href, как указано ниже

эта ссылка не будет работать, если вы не добавите ключи реестра. NB: никогда не ограничивайте свое воображение, просто найдите то, что найдете. Надеюсь, поможет

Почему бы не использовать CGI для этой цели, CGI фактически запускает исполняемый файл через браузер на сервере.

Просто предоставьте доступ к папке, но не включайте .exe в href. Затем пользователь просто щелкнет по файлу .exe, чтобы открыть его. Откройте здесь, где "targetFolder" содержит ваш файл .exe.

Как открыть HTML-файл в браузере

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

Подробнее: Просмотр HTML-кода страницы в браузере

Способ 1: Контекстное меню

Открытие HTML-файла с компьютера в браузере через контекстное меню Проводника

Список приложений для открытия HTML-файла в браузере через контекстное меню

Способ 2: Перетаскивание

Реализовать поставленную задачу можно и выполнив простое перетаскивание файла.

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

Перетаскивание HTML-файла в браузер для открытия

Локальный адрес HTML-файла в адресной строке после перетаскивания

Способ 3: Адресная строка

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

Ручной переход в браузерный проводник через адресную строку для открытия HTML-файла

Открытый браузерный проводник локальных файлов для открытия HTML-файла

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Хочу, чтобы клик по ссылке запускал указанную по ссылке программу с указанными параметрами. Без всяких вопросов. Клик - и крутится.

Такое сегодня хоть в одном браузере возможно?



А жаль. Вот бы дырище было :)


А что если это оформить в виде веб скрипта, крутящегося на каком-то простеньком сервере? А скрипт уже может запустить все что угодно.

запускай на локальной машинке простенький веб сервер, ссылка на странице пускай ведет на него, во время обработки запроса твой вебсервер пусть уже выполняет программку. Только надо будет повозиться с xauth, что бы вебсервер от своего псевдопользователя смог запускать проги в сессиях обычных юзеров.


>Такое сегодня хоть в одном браузере возможно?



ага, rm -rf? размечтался!


>А что если это оформить в виде веб скрипта, крутящегося на каком-то простеньком сервере?

Слишком геморройно. Коллекция и веб-сервер на одной машине, просмотр и запуск (по NFS) - с другой. Вариант - с сервера делать ssh+exec на другую машину не особо покатит, так как смотреть нужно с разных машин :) Хотя, если определять на ком запускать по IP. Можно, но всё равно геморройно.


Да, в IE2 это работало и было очень удобно для интранета :)


хотя можно заюзать и фишки xul


Под Linux есть ActiveX?

Да поставь винду, и скажи себе "да зато у меня линакс на сервере".

ЗЫ NFS клиент под винду должен быть, сам видел 100 лет назад.

Или можно через хелпер-аппликейшн. Когда браузер сам стартует прогу по типу файла.


> Коллекция и веб-сервер на одной машине, просмотр и запуск (по NFS) - с другой.

Дурацкий вопрос. Как запустить из HTML программу по ссылке? :)

Дурацкий ответ: По клику на ссылке javascript пишет в cookie команду с параметром. А демон (по inotify) парсит файл (sqlite базу) кукисов и исполняет команду.


Почему бы не передать в адресной строке команду с параметром?


Почему бы не передать в адресной строке команду с параметром?

Передать куда/кому? Локальному демону? Можно и так. Можно по-быстрому накостылить скрипт с netcat в качестве сетевого интерфейса.


>Под Linux есть ActiveX?

Но есть Java Plug-in.
Если апплет распространять с сертификатом (подписанный апплет), которому доверяет пользователь, то можно запускать сторонние приложения из апплета, давать апплету такие же права, как локальному приложению.
Но не всякий пользователь захочет/сможет импортировать сертификат для доверенных апплетов в собственное хранилище ключей Java (JKS).


ну это для лохалкоста, так что пойдет


чет я не догоняю. В любом браузере есть возможнсть открытия файлов разных типов (скорее всего MIME) разными прогами. Почему нельзя открывать выполяемые файлы bash'ем, например.

С параметрами думать надо.


А ещё можно браузер настроить на то, чтобы открывал данный тип ссылок данной программой.


> Конкретные функции не помню, но идея такова: яваскрипт ведь умеет писать в файлы?


> ну это для лохалкоста, так что пойдет

Для локалхоста можно вообще greasemonkey поставить со всеми правами на локальные файлы.


А если посмотреть в сторону джава-апплета?


А что, в этих ваших линуксах браузеры позволяют запускать файлы? НЕ ВЕ РЮ


Как-то браузеры могут iTunes открывать. Вот в эту сторону нужно и копать.


если правильно скучерявится то могут


Я так понимаю, можно сделать custom protol (exe:// например). Нужно просто ассоциации правильно прописать.


>ЗЫ NFS клиент под винду должен быть, сам видел 100 лет назад.

Угу. Но только даже сегодня нет работающего с русскими именами или со всякими «:» в имени.


Не катит. Мне нужно разное виде запускать в разных плейерах. Скажем, есть такие, которые только vlc корректно показывает. Как из mythtv вызывать vlc или kaffeine? Опять же, мне нужен просмотр деталей о фильма в виде полноценной страницы - с обложкой, сюжетом, ролями. Писать свой плагин? Проще придумать что-то с нормальным браузером. Ну и я так и не добился от mythtv безупречной работы. То с русским проблемы, то тормозит, то глючит.

Основная тема статьи — выполнение PHP-файлов. Также будут вкратце рассмотрены особенности использования функции exec и тема вставки PHP в HTML .

О запуске файлов PHP

Согласно установленным правилам и SLI SAPI, существует несколько способов запуска кода на PHP. Рассмотрим три основных.

1. Указание файла для запуска

Screenshot_1-1801-360634.jpg

Два вышеописанных способа (как с опцией –f, так и без нее) выполнят запуск файла PHP my_script.php. Причем отсутствуют ограничения, какой именно файл следует запускать, то есть файлы не должны обязательно иметь расширение .php.

2. Передача PHP-кода напрямую в командной строке

Screenshot_2-1801-1c21e6.jpg

Применяя этот способ, следует быть осторожным. Дело в том, что может случиться подстановка переменных оболочки при применении двойных кавычек. Также надо обратить внимание на отсутствие закрывающих и открывающих тегов: так как опция -r в них не нуждается, в случае их применения возможны ошибки разбора.

3. Передача запускаемого PHP-кода с помощью стандартного потока ввода (stdin)

Этот способ позволяет пользователю создавать код и передавать его в запускаемый файл, как описано в примере ниже:

Screenshot_3-1801-58aec1.jpg

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

Вставляем PHP в HTML

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

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

Чтобы понять это на примере, стоит попробовать запустить у себя файл со следующим содержимым:

Screenshot_4-1801-4dc201.jpg

Способы вставки

Чаще всего используется следующий вариант:

Данный способ имеет ряд плюсов: • не требуется дополнительная активация (способ всегда доступен); • возможно беспроблемное применение в файлах со стандартами XML и XHTML; • ввиду широкой применимости, этот метод стал, по сути, общепринятым стандартом, позволяющим вставлять скрипты, поэтому лучше используйте его.

Рассмотрим еще один вариант:

Screenshot_5-1801-4745da.jpg

Здесь тоже не нужны никакие предварительные настройки, однако на практике такая конструкция встречается реже, так как особых преимуществ она не имеет. Начиная с PHP версии 5.3, можно вставить в код лишь открывающий тег <?php. В результате всё последующее содержание кода будет интерпретироваться как скрипт:

Screenshot_6-1801-bfba3a.jpg

Этот способ прекрасно подходит при выводе больших текстовых фрагментов внутри скриптов. Он эффективнее, чем применение конструкции с echo() , print() и т. п.

Функция exec

Функция exec служит для выполнения внешней программы. Синтаксис ее работы выглядит следующим образом:

Screenshot_7-1801-370a71.jpg

Давайте рассмотрим перечень параметров: • command — команда к исполнению, то есть exec() осуществляет выполнение команды command; • output. Когда данный параметр указан, массив заполняется строками вывода программы. В данном случае завершающие пробелы в массив не включаются. Следует учесть, что если массив уже включает в себя какие-нибудь элементы, то функция добавляет в конец массива новые элементы. Но если вы этого не хотите, можно вызвать на этом массиве unset() , сделав это прежде его передачи в exec() ; • return_var. Когда аргумент return_var находится вместе с output, статус возврата команды после выполнения записывается в этой переменной.

Читайте также: