- Запуск PHP. Выполнение файлов. Как вставить PHP в HTML?
- О запуске файлов PHP
- 1. Указание файла для запуска
- 2. Передача PHP-кода напрямую в командной строке
- 3. Передача запускаемого PHP-кода с помощью стандартного потока ввода (stdin)
- Вставляем PHP в HTML
- Способы вставки
- Функция exec
- Запуск exe из html
- Is it possible to run an .exe or .bat file on ‘onclick’ in HTML
- 5 Answers 5
Запуск PHP. Выполнение файлов. Как вставить PHP в HTML?
Основная тема статьи — выполнение PHP-файлов. Также будут вкратце рассмотрены особенности использования функции exec и тема вставки PHP в HTML .
О запуске файлов PHP
Согласно установленным правилам и SLI SAPI, существует несколько способов запуска кода на PHP. Рассмотрим три основных.
1. Указание файла для запуска
Два вышеописанных способа (как с опцией –f, так и без нее) выполнят запуск файла PHP my_script.php. Причем отсутствуют ограничения, какой именно файл следует запускать, то есть файлы не должны обязательно иметь расширение .php.
2. Передача PHP-кода напрямую в командной строке
Применяя этот способ, следует быть осторожным. Дело в том, что может случиться подстановка переменных оболочки при применении двойных кавычек. Также надо обратить внимание на отсутствие закрывающих и открывающих тегов: так как опция -r в них не нуждается, в случае их применения возможны ошибки разбора.
3. Передача запускаемого PHP-кода с помощью стандартного потока ввода (stdin)
Этот способ позволяет пользователю создавать код и передавать его в запускаемый файл, как описано в примере ниже:
Также следует учесть, что комбинировать эти способы запуска нельзя.
Вставляем PHP в HTML
Нередко появляется необходимость вставить код внутрь страницы HTML. Выполнить это несложно, если понимать принципы работы парсера кода и знать как методы его вставки, так и различия между ними.
Рассмотрим классический принцип обработки файла с PHP. Когда парсер заходит на страницу, он построчно читает код и просто выводит содержимое на экран, пока не обнаружит специальные теги. Речь идет о тегах, которые обозначают начало и конец кода программы. Обнаруженный скрипт исполняется вплоть до завершающего тега, после чего построчный вывод данных на экран продолжается.
Чтобы понять это на примере, стоит попробовать запустить у себя файл со следующим содержимым:
Способы вставки
Чаще всего используется следующий вариант:
Данный способ имеет ряд плюсов: • не требуется дополнительная активация (способ всегда доступен); • возможно беспроблемное применение в файлах со стандартами XML и XHTML; • ввиду широкой применимости, этот метод стал, по сути, общепринятым стандартом, позволяющим вставлять скрипты, поэтому лучше используйте его.
Рассмотрим еще один вариант:
Здесь тоже не нужны никакие предварительные настройки, однако на практике такая конструкция встречается реже, так как особых преимуществ она не имеет. Начиная с PHP версии 5.3, можно вставить в код лишь открывающий тег
Этот способ прекрасно подходит при выводе больших текстовых фрагментов внутри скриптов. Он эффективнее, чем применение конструкции с echo() , print() и т. п.
Функция exec
Функция exec служит для выполнения внешней программы. Синтаксис ее работы выглядит следующим образом:
Давайте рассмотрим перечень параметров: • command — команда к исполнению, то есть exec() осуществляет выполнение команды command; • output. Когда данный параметр указан, массив заполняется строками вывода программы. В данном случае завершающие пробелы в массив не включаются. Следует учесть, что если массив уже включает в себя какие-нибудь элементы, то функция добавляет в конец массива новые элементы. Но если вы этого не хотите, можно вызвать на этом массиве unset() , сделав это прежде его передачи в exec() ; • return_var. Когда аргумент return_var находится вместе с output, статус возврата команды после выполнения записывается в этой переменной.
Запуск exe из html
подскажите пожалуйста, представленный Вами скрипт в посте 3 можно прикрутить, чтобы можно было
указать запускать файл *.exe по адресу С:\, это будет запускаться не с сайта, а с файла *.html??
Как??
Запуск exe файлов в html странице
Здравствуйте, как можно запустить программу на локальном компьютере через html страницу? Можете.
Запуск EXE-файла на стороне хостинга из HTML через скрипт PHP
Здравствуйте! У меня есть хостинг на Windows. Туда залита HTML-страничка и EXE-файл. Как можно.
Запуск exe.
Требуется запустить ехе-шник, который находится в каталоге с текущим проектом. Т.е скомпилили.
Запуск .exe
Здравствуйте! Скажите как запустить файл .exe программно: хочу запустить из своего проекта файл.
Сообщение от Ципихович Эндрю
Сообщение от Ципихович Эндрю
Сообщение от Vovan-VE
Сообщение от Vovan-VE
Сообщение от Vovan-VE
Сообщение от Ципихович Эндрю
тягомотина получилась, отвечать на формы и нажимать Запустить, Выполнить
Короче никак? Чтобы без форм, напрямую
Сообщение от Ципихович Эндрю
я понимаю, что это одно и тоже сайт — страница ХТМЛ но нутро просит разделения, может скриптом?
екзешник мой, сам дописываю, можно любой скрипт с VB переписать в JScript??
Сообщение от Ципихович Эндрю
Сообщение от Ципихович Эндрю
имелось ввиду
можно любой скрипт написанный на языке VB6.0 переписать в JScript
насколько это сложно. проги это делают?
Сообщение от Ципихович Эндрю
В VB6.0 нет никакого скрипта. Там есть код.
Нет, не любой. Если там 2+3 складывается — не проблема. А если там, например, суровая тулза с графикой работает, то уж извините — область применения у всех своя.
Сообщение от Vovan-VE
скрипт — имею ввиду рукопись (латынь), код одним словом
нет там смысл такой, к компу подключен телефон, через его модем звоним по телефонам указанным на стрнице и это с файла ХТМЛ, это можно?
Запуск .exe
А как запустить файл .exe?
Запуск exe
Пользуюсь вижуалом, когда скомпилировал приложение .exe его могут запустить только те у кого есть.
Запуск .exe
Как скомпилировать окончательный вариант программы, чтобы запускать без среды IDE. У меня .exe не.
Запуск .exe
Обьясните мне пожалуйста как мне 1)програмно(С#) запустить сторонний .exe 2)запусть браузер и.
Запуск .exe
PascalABC.net Как запустить .exe файл в своей родной директории, проблема в том что если я.
Is it possible to run an .exe or .bat file on ‘onclick’ in HTML
Is it possible to run bat/executable file using html5 button event? In IE its achievable using Shell object if I am not wrong.
@coolprarun I also confirmed that the link you provide works in my environment ( Win8.1 , IE11 . Not on FF27 ). You should post it as an answer.
5 Answers 5
No, that would be a huge security breach. Imagine if someone could run
whenever you visted their website.
Here’s what I did. I wanted a HTML page setup on our network so I wouldn’t have to navigate to various folders to install or upgrade our apps. So what I did was setup a .bat file on our «shared» drive that everyone has access to, in that .bat file I had this code:
start /d "\\server\Software\" setup.exe
(make sure your slashes are correct, I had them the other way and it didn’t work)
I preferred to launch the EXE directly but that wasn’t possible, but the .bat file allowed me around that. Wish it worked in FF or Chrome, but only IE.
Dear @Chuff what about if the bat file has a registration command, I mean sth like REG ADD «HKCU\Software\. «
It is possible when the page itself is opened via a file:/// path.
However, the moment you put it on a webserver (even if you access it via http://localhost/ ), you will get an error:
Error: Access to ‘file:///C:/Windows/notepad.exe’ from script denied
@IsaacS I don’t have access to a Windows 8 box so unfortunately I can’t help with that. I’ve just tried this again with Firefox 28 on Windows 7 and it works, so the additional security is probably limited to Windows 8.
@nodiscc Indeed, Firefox by default does not allow you to run executables, but it’s not uncommon to have an extension like OpenDownload² to allow you to do so.
@Stijn the file that gets executed in this case is the file you just «downloaded», not the original. So in most cases it does not work — it doesn’t allow you to run programs already installed on your machine.
You can do it on Internet explorer with OCX component and on chrome browser using a chrome extension chrome document in any case need additional settings on the client system!
Important part of chrome extension source:
var port = chrome.runtime.connectNative("your.app.id"); port.onMessage.addListener(onNativeMessage); port.onDisconnect.addListener(onDisconnected); port.postMessage("send some data to STDIO");
and windows registry settings:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHosts\your.app.id REG_EXPAND_SZ : c:\permissionsettings.json