Создание exe приложений на php


Запуск внешних программ, как запустить EXE на PHP

Иногда возможностей языка PHP может не хватать, тогда можно арендовать или использовать свой сервер, на котором возможно установить любое дополнительное ПО.

Прежде чем приниматься за установку и настройку дополнительного ПО, следует детальнее изучить возможности PHP, быть может нужный функционал уже есть в языке или какой-либо библиотеке. Стоит обратиться к официальным источникам – сайту, форуму, возможно там найдется описание того, как сделать то или иное. Если же все-таки требуется специфичный функционал на PHP, тогда его наверняка можно сделать при помощи сторонних программ.

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

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

Какие функции есть в PHP для запуска внешних программ? Есть целый отдельный раздел на официальном сайте — http://php.net/manual/ru/book.exec.php. Там описаны все функции и их возможности. Некоторые наиболее востребованные функции:

  • exec — выполняет внешнюю программу,
  • passthru — выполняет внешнюю программу и отображает необработанный вывод,
  • system — выполняет внешнюю программу и отображает вывод.

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

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

Какой функционал можно реализовать с помощью внешних программ? Это может быть все, что угодно. Например, обработка фотографий, создание документов, рендеринг видео и т.д. Словом все, что можно сделать при помощи ПК.

Преобразование веб-приложения PHP-MySQL в настольное приложение (exe)

Я разработал веб-приложение PHP-MySQL, которое является школьным проектом. Мой клиент хочет, чтобы это приложение было преобразовано в файл .exe, чтобы его можно было установить на его рабочий стол и использовать его.

Как веб-сайт PHP может быть преобразован в файл .exe и может ли он работать без использования программного обеспечения базы данных/сервера?

Удобное решение — не конвертировать веб-сайт в .exe. Я думаю, будет лучше, если у вас портативный сервер /php/mysql и сделайте работу сайта с USB-диска или компакт-диска с автозапуском.

Я также искал аналогичное решение и нашел https://code.google.com/p/phpdesktop/

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

NuSphere PhpDock утверждает, что делает это: он служит помощником по развертыванию и поставляется с подключенным веб-сервером. Однако я не знаю о части базы данных, и она не бесплатна.

PhpDock позволяет развернуть любое веб-приложение PHP как автономное приложение Windows Desktop без каких-либо изменений в коде.

Я не знаю этого конкретного продукта, но я много лет использую их IDE, и я очень доволен.

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

Он позволяет много дополнительных функций, таких как значки в системном трее и т.д. Я использовал его много раз!

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

Короткий ответ: невозможно.

Длинный ответ: это зависит.

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

Вы сохраняете приложение на сервере и просто предоставляете пусковую установку, которая открывает его браузер и указывает на URL-адрес приложения.

Как отметил Artefacto, может быть хорошей идеей переключиться на SQLite вместо MySQL, но в зависимости от того, как написано ваше приложение, может потребоваться много изменений кода и SQL-запросов.

Нет. Вы должны хотя бы удалить зависимость от MySQL (и вместо этого использовать sqlite).

Затем вам нужно будет:

  • Преобразование веб-страниц в диалоговые окна Windows. Это полностью изменило бы ваше приложение (например, то, что изначально было бы «представлениями в форме» http «было бы совершенно иным). На этом этапе было бы намного проще написать приложение .NET.
  • Свяжите веб-сервер (например, Apache) с установленным PHP.


Рабочий стол Php — это путь, на самом деле очень просто изменить версию PHP, которую вы хотите использовать, и тоже с открытым исходным кодом https://code.google.com/p/phpdesktop/

Другой попыткой было бы превратить ваш php-проект в PHP-GTK (http://gtk.php.net/). Еще один способ — попробовать HPHP (https://github.com/facebook/hiphop-php/wiki/) и попытаться превратить сгенерированный код C в нечто вроде .DLL в .NET и использовать его для логики при кодировании пользовательского интерфейса, например, на С#.

Не уверен, что это будет возможно, но взгляните на:

WinBinder — это новый открытый исходный код расширение для PHP, скрипт язык программирования. Это позволяет PHP программисты легко строить родные Приложения для Windows.

Просто создайте простую программу на C или С++, которая просто добавит значок в меню «Пуск», «Рабочий стол» и «Быстрый старт». Если ваш клиент нажимает на значок, он откроет браузер ОС по умолчанию и укажет его на URI вашего приложения онлайн.

Это может привести к обману вашего клиента:)

Или, может быть, ему будет достаточно (он может попросить вас преобразовать его в exe, потому что он не может запомнить URI или что-то еще — спросите его, в чем причина).

Вы можете использовать проект с открытым исходным кодом xampp для упаковки вашего сайта PHP в исполняемый файл.

Используйте следующие шаги: 1. Загрузите исходный код Xampp.

Теперь скомпилируйте исходный код XAMPP и распространите его.

Для создания базы данных DATABASE и начальной загрузки данных в базу данных вы можете закодировать свой сайт таким образом, чтобы, если база данных не была создана, она перенаправляет страницу на install.php , которые выполняют задачу создания базы данных и загрузки данных, используя sql файл (вам нужно добавить файл SQL, содержащий структуру базы данных и необходимые данные).

Не забудьте удалить SQL файл после установки базы данных.

Как создать exe для отдельного приложения php?

Как создать .exe для автономного приложения php?

Я создал приложение, работающее на применении localhost.This разработан для местного use.so я есть искать для этого типа установки, что:

1.Create установки PHP,

3.Install апач и MySQL и запустить MySQL и сервер Apache,

4.onclick ярлык, проект запуска в браузере

LATER UPDATE
Это хороший способ создать командный файл, который сделал верхние вещи, и возможно ли это?
если возможно, предложите несколько примеров.

Создан 26 фев. 13 2013-02-26 05:07:49 DS9

1 ответ

Короткий ответ: невозможно.

Длительный ответ: Это зависит.

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

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

Возможно, было бы неплохо перейти на SQLite вместо MySQL, но в зависимости от того, как написано ваше приложение, может потребоваться много изменений кода и SQL-запросов.

PHP Desktop, который позволяет создавать настольные приложения так же, как вы создаете сайты с php/html/js.

Удобное решение не конвертировать веб-сайт в .exe. Я думаю, будет лучше, если у вас есть портативный server/php/mysql и сделайте сайт работать с USB или CD с автозапуском.

Создан 26 фев. 13 2013-02-26 05:12:50 Vineet1982


как создать ехе для PHP отдельного приложения?

Как создать .exe для PHP отдельного приложения?

Я создал приложение, работающее на применении localhost.This разработан для местного use.so я есть искать для этого типа установки, что:

1.Create установки PHP,

3.Install Apache и MySQL и запустить MySQL и сервер Apache,

4.onclick ярлык, проект запуска в браузере

СПУСТЯ UPDATE
Это хороший способ , чтобы создать пакетный файл , который делал верхние вещи и возможно ли это?
если это возможно, пожалуйста , предложить некоторые примеры.

Короткий ответ: Не возможно.

Длинный ответ: Это зависит от многого.

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

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

Илон Маск рекомендует:  Список инструкций

Это может быть хорошей идеей, чтобы перейти к SQLite вместо MySQL, но в зависимости от того, как написано ваше приложение, оно может потребовать много кода и изменения запросов SQL.

PHP Desktop , которая позволяет создавать настольные приложения , таким же образом , как вы создавать веб — сайты с помощью PHP / HTML / JS.

Удобное решение не конвертировать веб — сайт на .exe. Я думаю , что это будет лучше , если у вас есть портативный сервер / PHP / MySQL и сделать сайт работать от USB или компакта — диска с автозапуском.

Преобразование php-сайта в настольное приложение .exe

Я разработал веб-приложение php-mysql, которое является школьным проектом. Мой клиент хочет, чтобы это приложение было преобразовано в файл .exe, чтобы его можно было установить на его рабочий стол и использовать.

Как веб-сайт php может быть преобразован в файл .exe и может ли он запускаться без использования программного обеспечения для базы данных / сервера?

Удобное решение – не конвертировать веб-сайт в .exe. Я думаю, будет лучше, если у вас есть портативный сервер / php / mysql и сделайте работу сайта с USB или CD с автозапуском.

Я также искал аналогичное решение и нашел https://code.google.com/p/phpdesktop/

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

NpSphere’s PhpDock утверждает, что делает это: он служит помощником по развертыванию и поставляется с комплектом веб-сервера. Тем не менее, я не знаю о части базы данных, и это не бесплатно.

PhpDock позволяет развернуть любое веб-приложение PHP в качестве автономного приложения Windows Desktop без каких-либо изменений кода.

Я не знаю этого конкретного продукта, но я много лет использую их IDE, и я очень доволен.

попробуйте использовать веб-браузер. он сделает настольное приложение, которое в основном представляет собой портал, работающий на вашем веб-сервере. Попробуй это:

Он позволяет использовать множество дополнительных функций, таких как значки в системном трее и т. Д. Я использовал его много раз!

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

Короткий ответ: Невозможно.

Длительный ответ: Это зависит.

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

Вы сохраняете приложение на сервере и просто предоставляете пусковую установку, которая открывает его браузер, и указывает на URL-адрес приложения.

Как отметил Artefacto, может быть хорошей идеей переключиться на SQLite вместо MySQL, но в зависимости от того, как написано ваше приложение, может потребоваться много изменений кода и SQL-запросов.


Нет. Вы должны хотя бы удалить зависимость от MySQL (и вместо этого использовать, например, sqlite).

Тогда вам придется либо:

  • Преобразуйте веб-страницы в диалоговые окна Windows. Это полностью изменило бы ваше приложение (например, то, что изначально было бы «представлениями в форме« http »было бы совсем иным). На этом этапе было бы намного проще написать приложение .NET
  • Свяжите веб-сервер (например, Apache) с установленным PHP.

Рабочий стол Php – это путь, на самом деле очень просто изменить версию PHP, которую вы хотите использовать, а также с открытым исходным кодом https://code.google.com/p/phpdesktop/

Другая попытка – превратить ваш php-проект в PHP-GTK ( http://gtk.php.net/ ). Еще одна задача – дать HPHP попробовать ( http://wiki.github.com/facebook/hiphop-php/ ) и попытаться превратить сгенерированный код C в нечто вроде .DLL в .NET и использовать его для логики при кодировании пользовательского интерфейса, скажем, C #.

Не уверен, что это будет возможно, но посмотрите:

WinBinder – это новое расширение с открытым исходным кодом для PHP, языка программирования скриптов. Это позволяет программистам PHP легко создавать собственные приложения Windows.

Просто создайте простую программу на C или C ++, которая просто добавит значок в меню «Пуск», «Рабочий стол» и «Быстрый старт». Если ваш клиент нажмет на значок, он откроет браузер ОС по умолчанию и укажет его на URI вашего приложения в Интернете.

Это может обмануть вашего клиента ��

Или, может быть, ему будет достаточно (он может попросить вас преобразовать его в exe, потому что он не может запомнить URI или что-то еще – спросите его, в чем причина).

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

Выполните следующие шаги: 1. Загрузите исходный код Xampp.

Теперь скомпилируйте исходный код XAMPP и распространите его.

Для создания базы данных DATABASE и начальной загрузки данных в базу данных вы можете закодировать свой сайт таким образом, что если база данных не создана, она перенаправляет страницу на install.php которая выполняет задачу создания базы данных и загрузки данных, используя предоставленный sql-файл (вам нужно для добавления файла SQL, содержащего структуру базы данных и требуемые данные).

Не забудьте удалить SQL-файл после установки базы данных.

Создаем первое PHP приложение: Часть №1

Этот урок ориентирован на тех, кто совсем немного знаком с PHP и Объектно-Ориентированным Программированием (ООП) и хотят создать простое веб приложение.

Для более удобного восприятия материала урок состоит из 3-х частей.

Обзор серии уроков

Нам необходимо изучить очень много материала. Вот план:

Часть №1 — Создаем проект и создаем первый класс

— создаем набросок проекта
— создаем файлы и папки
— создаем класс для операций с базой данной: DB.class.php

Часть №2 — Доделываем серверную чаcть

— Создаем класс для пользователей (User)
— Создаем класс UserTools
— Регистрация \ Логин \ Выход

Часть №3 — Создаем внешний интерфейс

— Формы
— Обработка форм
— Отображение информации сессий

Начинаем наш проект!

Создаем план действий

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


Структура Файлов и Папок

ООП PHP программирование использует классы и объекты для выполнения необходимых для приложения операций. При планировке Вам необходимо подумать о том, какие классы Вам понадобятся. Для данного проекта мы создадим 3 класса. Первый класс — User (будет содержать информацию о пользователе с функцией простого сохранения save()), второй — UserTools (будет содержать функции, которые необходимы пользователям, такие как login(), logout() и другие. ), третий — класс БД (он будет выполнять роль связующего звена — подсоединение к БД, внесение изменений, вставка новых рядов, и многое другое).

Кроме классов, мы также будем использовать файл с названием global.inc.php. Этот файл будет вызываться с каждой страницы и выполнять обычные операции, которые нам понадобятся. К примеру, в этом файле мы будем выполнять подключение к БД на каждой странице.

Другие файлы — это страницы для пользователей: index.php, register.php, login.php, logout.php, settings.php и welcome.php.

Общая структура у нас будет выглядеть так:

Создание Базы Данных и таблицы users

На Вашем сервере должен быть установлен MySQL. Для начала необходимо создать новую базу данных для Вашего приложения. В этой БД создайте таблицу users, которую мы будем использовать для этого урока. Можете использовать следующий код SQL:

Первичным ключом у нас выступает поле “id”, и именно его мы будем использовать для идентификации наших пользователей.

Уникальным полем у нас также будет “username”. Другие необходимые поля “password”, “email”, и “join_date”.

Создаем класс DB.class.php

Цель данного класса очень проста: как можно больше уменьшить использование SQL при обращении к БД, а также организовать данные в удобный для нас формат.

Ниже приведен код:

Объяснение кода

После создания класса Вы видите 4 переменные: $db_name, $db_user, $db_pass, и $db_host. В них необходимо внести данные для подключения к БД. $db_host обычно localhost. Перед этими переменными указано «protected» — это означает, что они будут не доступны вне этого класса. Внутри же класса их можно выводить используя $this->db_name, $this->db_user, и т.д.

Первая функция называется connect(). Эта функция содержит защищенные значения для соединения с БД. Это соединение будет открыто для использования в любом месте текущей страницы (не только внутри класса).

Вот пример использования этой функции вне класса:

Вторая функция называется processRowSet(). Цель данной функции — взять объект результата mysql и конвертировать его в ассоциативный массив, в котором ключами являются название колонок. Функция проходит по каждому ряду и функция mysql_fetch_assoc() преобразовывает каждый ряд в массив. Ряд далее передается массиву и возвращается с помощью функции.

Существует второй аргумент $singleRow, который содержит значение по умолчанию. Если значение true, выводится только один ряд вместо массива. Это очень полезно, если Вы ожидаете получить один результат (например, при выборе юзера из БД используя уникальный id).

Последние 3 функции выполняют простые функции MySQL: select, insert, update. Цель данных функций минимизировать количество SQL кода, который необходимо использовать где-либо в другом месте приложения. Каждая функция создает SQL запрос на основе переданного значения и выполняет этот запрос. В случае select(), результаты форматируются и выводятся. В случае update(), выводится true при успешном выполнении. В случае insert(), выводится id нового ряда.

Вот пример как Вы можете изменить данные пользователя в БД используя функцию update():

Вот и все на сегодня! До следующих частей!

Вторая часть урока тут, третья — тут

Илон Маск рекомендует:  Что такое код domdocument >dump_file

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.buildinternet.com
Перевел: Максим Шкурупий
Урок создан: 14 Декабря 2009
Просмотров: 185079
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.


Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Windows-приложения на PHP

Мне всегда хотелось писать Windows-приложения на PHP, ведь это такой замечательный язык.

Когда-то я пробовал PHPGTK, но мне сразу не понравилось. Он генерил совершенно отвратительный интерфейс, не имеющий никакого отношения к Windows. Как я понимаю, там люди просто портировали под Windows какой-то первобытный оконный интерфейс из какого-то линукса. Казалось бы, взялись за дело — ну доведите его до ума: замените вызовы своего портированного кода вызовами нормального WinAPI. Ан-нет, это не наш путь.

Но всё меняется, когда приходят они. Если за дело берутся Windows-разработчики, то на выходе получается намного более удобоваримый продукт, WinBinder. WinBinder позволяет делать нормально-интерфейсовые приложения под Windows. Больше того, он позволяет даже собрать такое приложение в exe-файл! Нужно только разобраться, как это делать (смайлик).

В общем, очень интересная штука.

Интересно, что вы читаете? :)

Ох, Юля, ну ты же умная! Зачем ты хочешь заставить меня забивать гвозди молотком, когда у меня отверткой получается быстрее и удобнее?

Рассуждения типа «A предназначено для B» — это, почти всегда, чушь. Например, некоторые называют камеру в телефоне бесполезной вещью, говоря «телефон предназначен для того, чтобы говорить». Я не собираюсь пользоваться вещами для того, что чего они предназначены просто потому, что их кто-то для этого предназначил! Если они мне удобны для чего-то другого, то я буду ими пользоваться и для этого тоже.

Что конкретно плохого в том, чтобы писать Windows-приложения на PHP?

а по мне, так winGTK+winGlade очень не плох. кросс-платформенно все таки.
проблема в самих виджетах GTK и скорости их работы
низкоуровнево там интерфейс нормальный не запрограммируешь
вон kukutz пробовал CTRL+A присобачить с text input’у, чтобы выделялся весь текст. дык умучался.

Weasel он умный и ленивый, поэтому пишет GUI на том, на чем умеет =)

«Кросс-платформенно все таки». Ну да, но только это в реальном мире никому не нужно.

А GUI я умею и на C++ писать, и машину я (сюрприз) умею с механической коробкой водить. Просто сегодня у меня появилась возможность начать писать Windows-приложения на PHP. Если завтра у меня появится возможность водить машину с коробкой-автоматом, я с удовольствием и этой возможностью воспользуюсь. Почему я должен делать то, что можно поручить роботу?

Если ты умеешь добывать огонь, потирая сухие палочки друг о друга, то, имея зажигалку, ты всё равно предпочтёшь её.

Если кто-то «предназначал А для Б» — он думал, как сделать А, чтобы с его помощью хорошо получалось Б. Да, бывают случаи, что А можно использовать и для чего-нибудь другого. Но почти всегда это компромис, и при наличии бОльших ресурсов было бы выбрано что-то другое. Например, я буду пользоваться цифровой камерой в сотовом только тогда, когда мне срочно надо что-то снять, а фотоаппарата под рукой нету. Если бы он был, или было время/желание за ним сходить, я бы взяла фотоаппарат, потому что он лучше фотографирует. Потому что он для этого предназначен.

Отвергать предназначение вещи — значит отвергать опыт людей, которые её делали. Как и любой другой опыт, его надо отвергать с умом, разбираясь в предмете и понимая, что ты делаешь.

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

Я знаю один единственный бесспорный случай, когда писать Windows-программу на PHP оправдано:

  1. Некто просто не знает более подходящего языка.
  2. Ему надо написать только одну-две маленькие программы с оконным интерфейсом.

Если ему надо написать три программы, то уже стоит задуматься, что быстрее — мучиться с PHP или выучить Delphi. Может статься, что второе получится быстрее. И лучше. И полезнее для субьекта ;)

«Но они будут получаться быстрее и лучше». Что значит лучше? Слово не несёт смысла в данном контексте, поэтому игнорируем :-) Остаётся только «быстрее». Ну, наверное быстрее будет работать программа, да. Но мне важнее время её разработки. И большинству людей уже сегодня важнее именно это. Этот подход называется «Пускай потеет машина».

Я не знаю более подходящего языка для быстрого написания несложных Windows-приложений, чем PHP. При этом я знаю Delphi и, на каком-то уровне, C/C++.

Хороший программист обязан знать много разных средств и не называть какие-то из них неподходящими. Средство нужно подбирать для задачи, а не для целого класса задач, тем более, такого большого, как Windows-приложения. Я же не предлагаю Microsoft Office писать на PHP. Просто те задачи, которые чаще всего приходится решать мне — это у меня почти не вызывает сомнения — будут существенно проще решаться с помощью PHP.

>«Кросс-платформенно все таки» Ну да, но только это в реальном мире никому не нужно.
Кому не нужно? А ну-ка дайте сюда! У меня на работе Windows, а дома — Linux, мне очень нужно!

Примеры с добыванием огня и машиной с механической коробкой — не в кассу ;) Огонь удобнее добывать зажигалкой. А писать оконные приложения удобнее на Delphi или C++ c хорошей оконной библиотекой.

А люди, которые пишут GUI на php как раз вызывают ассоциации с теми, кто добывает огонь палочками, потому что не умеет пользоваться зажигалкой и не хочет учиться ;)

Я знаю, зачем мне пригодился бы win+php. Как-то я написал скрипт-макрос, который чистит экспортированные из Ворда хтмл-страницы и собирает их в древовидную структуру веб-сайта, создает зипы разделов, библиотеку гиперссылок и алфавитный указатель. Т. к. этим скриптом заинтересовался (захотел побаловаться) заказчик, пришлось поставить ему Денвер, чтобы он имел дело с браузером в качестве интерфейса. А с окнами получилось бы приличнее.

Offtopic: а чего форма «Имя:» такая непривычно-неудобная?


Слово «лучше» несёт вполне конкретный смысл. Можно его разбирать на удобнее/красивее/проще в освоении/и т. д. Можно еще начать примеры приводить. Но ведь ты меня и так понял ;)

«Быстрее» я употребляла не в контексте «быстрее работает программа», а в конектсте «быстрее создаётся». Т. е. программировать GUI на предназначенном для этого языке — быстрее. Если у тебя на дельфи получается рисовать окошки медленнее, чем на php, то извини, но ты просто плохо знаешь дельфи. Кстати, еще не упоминался Visual Basic, а по скорости разработки он, пожалуй, чемпион.

>Средство нужно подбирать для задачи
Ура, тут мы согласны. Наверное, у меня просто фантазии не хватает на то, чтобы представить задачу, для которой нужно GUI и лучше использовать php. Хотя, если совсем уж пофантазировать..

  • Уже есть скрипт на php, к которому надо прикрутить мааааленький gui. Я бы сделала это через браузер, но если нужна иконка в трее — придётся таки брать winapi.
  • Если программа предназначена в основном для обработки текста. (Пример Олега). Я в этих целях использую perl, там с регекспами еще приятнее и проще работать, но php — тоже ничего, сойдёт. Хотя вот именно HTML я бы парсила какой-нибудь DOM-библиотекой, и тогда программу можно хоть на C++ писать.
  • Если важна кроссплатформенность. Но тогда ни о каком winapi не может идти речь, тут что-то вроде gtk или qt придётся брать.
  • . Всё, фантазия выдохлась. Видимо, Илья, мы с тобой по жизни решаем принципиально разные задачи.

>Хотя вот именно HTML я бы парсила какой-нибудь DOM-библиотекой

Мнэ. не советую. съедят.

Ты часто валидный HTML видела? Я редко.

В лучшем случае наш выбор — HTMLSax, в остальных — регекспы.

как создать exe для отдельного приложения php?

Как создать.exe для автономного приложения php?

Я создал приложение, которое работает на localhost.This приложение разработано для локального использования. Так что я ищу этот тип установки, который:

1.create php setup,

3. Установите apache и mysql и запустите mysql и apache server,

Ярлык 4.onclick, запуск проекта в браузере

ПОСЛЕДНЕЕ ОБНОВЛЕНИЕ
Это хороший способ создать командный файл, который сделал верхние вещи, и возможно ли это?
если возможно, предложите несколько примеров.

Короткий ответ: Невозможно.

Илон Маск рекомендует:  Запуск интерпретатора perl

Длительный ответ: Это зависит.

Вы можете установить на свой компьютер web- и сервер базы данных (или создать установщик, который это делает), и запустить приложение локально на своем компьютере.

Вы сохраняете приложение на сервере и просто предоставляете пусковую установку, которая открывает его браузер, и указывает на URL-адрес приложения.

Возможно, было бы неплохо перейти на SQLite вместо MySQL, но в зависимости от того, как написано ваше приложение, может потребоваться много изменений кода и SQL-запросов.

PHP Desktop, который позволяет создавать настольные приложения так же, как вы создаете сайты с php/html/js.

Удобное решение — не конвертировать веб-сайт в.exe. Я думаю, будет лучше, если у вас есть портативный сервер/php/mysql и сделайте работу сайта с USB или CD с автозапуском.

Как создать exe для отдельного приложения php?

Как создать .exe для автономного приложения php?

Я создал приложение, работающее на применении localhost.This разработан для местного use.so я есть искать для этого типа установки, что:

1.Create установки PHP,

3.Install апач и MySQL и запустить MySQL и сервер Apache,

4.onclick ярлык, проект запуска в браузере

LATER UPDATE
Это хороший способ создать командный файл, который сделал верхние вещи, и возможно ли это?
если возможно, предложите несколько примеров.

Создан 26 фев. 13 2013-02-26 05:07:49 DS9


1 ответ

Короткий ответ: невозможно.

Длительный ответ: Это зависит.

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

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

Возможно, было бы неплохо перейти на SQLite вместо MySQL, но в зависимости от того, как написано ваше приложение, может потребоваться много изменений кода и SQL-запросов.

PHP Desktop, который позволяет создавать настольные приложения так же, как вы создаете сайты с php/html/js.

Удобное решение не конвертировать веб-сайт в .exe. Я думаю, будет лучше, если у вас есть портативный server/php/mysql и сделайте сайт работать с USB или CD с автозапуском.

Создан 26 фев. 13 2013-02-26 05:12:50 Vineet1982

Создание exe приложений на php

Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

Создание EXE приложений на PHP
Автор: S1B aka Furius Angel (Security Bunker Team)
www.secbun.info
INTRO

Все мы знаем что PHP предназначен для быстрого создания динамических Web страниц. Во всяком случае именно это написано на официальном сайте разработчиков PHP. Однако почему бы не попробовать найти PHP «немного» иное применение, например, попробовать создать полноценное приложение для Windows? Заинтересовал? Тогда понеслась!
Чёрный квадрат

Приложения делятся на консольные и оконные. Начнём с создания первых, так как это проще. Итак, для начала нужно определиться с тем, что мы будем писать. я предлагаю написать простой MD5 & Base64 Encoder — вещь в хозяйстве нужная и полезная, тем более здесь всё достаточно просто. Для запуска PHP скрипта из командной строки и передачи ему нужных параметров используется следующая конструкция:
php.exe [опции] [-f] [параметры]

Что касается содержания самого скрипта, то количество переданных параметров хранится в переменной $argc, а сами параметры хранятся в массиве $argv. На этом краткий инструктаж по консольным приложениям закончен и пришла пора приступить к активным действиям.

Чтобы не утруждать Вас написанием скрипта, я решил написать его за Вас. Вот что у меня получилось:

Скрипт написан и теперь самое интересное — компиляция в EXE приложение. Для компиляции консольных приложений я использую Roadsend Compiler Studio. Его можно скачать на сайте www.roadsend.com после бесплатной регистрации. Скачали? Теперь открываем Roadsend IDE, создаём новый проект (Project -> New), прописываем необходимые параметры (наш скрипт рекомендую кинуть именно в директорию проекта), жмём «OK» и наконец даём заветное Project -> Build. Теперь направляемся в папку с проектом и если Вы всё правильно сделали — в ней Вы найдёте готовый EXE. Это всё? Да. Всё просто, если знать некоторые нюансы. Единственное что я рекомендовал бы — иногда полезно пошаманить с подключаемыми библиотеками, а так же можно упаковать наш EXE UPX`м, хотя эту тему я затрону чуть ниже. Теперь перейдём к оконным приложениям.
Окошки

Как Вы наверное уже догадались — при создании оконных приложений штатными средствами PHP уже не обойтись, поэтому для начала нужно выбрать инструмент для разработки нашего окошка. Среди всех инструментов больше всего выделяются два — это достаточно раскрученый PHP-GTK (www.gtk.php.net) и менее раскрученный, но не менее функциональный WinBlider (www.winbinder.org). Здесь как раз тот случай, когда более раскрученный и известный оказывается не так уж и хорош (это моё имхо), поэтому для разработки нашей первой форточки на PHP мы будем использовать WinBlinder. Для начала его нужно скачать. Готово? Окей, двигаемся дальше.

Винблиндер имеет свой собственный формат данных — phpw, который Вы можете сразу смело привязывать к вашему любимому редактору кода. По умолчанию при запуске phpw файла открывается содержащийся в нём PHP скрипт и прогоняется через интерпретатор с уже подключеными библиотеками блиндера. Как Вы наверное поняли — учится программировать на этой балалайке Вам придётся самим, однако в это нет ничего сложного, особенно человеку хоть немного знакомому с ООП в PHP. Однако даже незнакомый тоже сможет на нём кодить, так как по сути блиндер (в отличии от PHP-GTK) поддерживает и процедурное программирование. Кроме того WinBlinder весьма неплохо документирован, а инсталл архив уже содержит в себе несколько весьма любопытных примеров (особое внимание прошу обратить на редактор форм). У блиндера есть ещё куча фишек, функций и интересностей, но рамки данной статьи не позволяют мне на них останавливаться. Теперь пожалуй самое подходящее время вспомнить о нашем кодере. Чтобы не перегружать всё кодом я решил написать лишь MD5 Encoder:

Код достаточно прост и думаю посидев с документацией 1-2 часа Вы начнёте разбираться в нём так же, как и я. Ну а теперь кульминация — собираем форточку. Для этого предлагаю создать отдельную директорию и перенести наш скрипт туда. Так же нужно перенести туда папку include из phpcode директории винблиндера. Готово? Теперь компилируем! Эээ. стоп не нужно хвататься за Roadsend IDE. Как? А вот так! Он не поддерживает блиндер, а поддерживает только GTK, причём судя по туманным ответам разработчиков Roadsend на их форуме — поддержку блиндера можно ещё долго ждать. Однако вытрем сопли, и будем искать другие пути, и имя этим путям Bamcompile (www.bambalam.se/bamcompile/). Однако по каким-то причинам версия 1.21 не всегда верно работает и иногда компилирует всё в неработающее приложение, однако версия 1.1 такими глюками не страдает, поэтому рекомендую использовать её. Теперь щедро выделяем для нашего компилятора отдельную папку, заходим в командную строку и гордо командуем:
bambalam -w -c C:\PHP_Projects\MD5_Hash_Generator\ md5.phpw md5.exe

Если всё сделано правильно, то в директории с компилятором будет лежать свежесколоченое оконное приложение. Всё. Добавлю лишь, что все приложения я ещё рекомендовал бы упаковывать UPX`ом (который идёт сразу с Bamcompile).

Все вышесказанное конечно весьма интересне и познавательно, однако бывают моменты когда нужных инструментов под рукой нет. Что делать тогда? Специально для такого случая есть один весьма любопытный приём получения EXE через шаманство в опциях SFX архива WinRAR. В качестве примера я буду использовать наш первый скрипт для консоли. Для начала помещаем наш скрипт в отдельную папку, туда же копируем php.exe и php*ts.dll. Далее создаём в этой же папке run.bat следующего содержания:
@echo off
php.exe -q console.php %1 %2

Теперь нам необходимо это добро упаковать, для этого выделяем все файлы, жмём правой кнопкой и выбираем «Add to archive. «.

В появившемся окне выбираем формат архива RAR, выставляем максимальное сжатие и ставим галочку «Create SFX archive».

После этого переходим во складку «Advanced -> SFX Options», там выставляем переключатель на «Create in curent folder» и в «Run after extraction» прописываем «run.bat», а так же во вкладке «Modes» выставляем галочку «Unpack to temporary folder», а так же выставляем переключатели «Hide all» и «Overwrite all files».

По вкусу можете прилипить свою иконку в соответвующей вкладке. Теперь подтверждаем создание архива и на выходе получаем EXE без всяких компиляторов.
OUTRO

Итак, сегодня я показал Вам, как легко и просто можно раздвинуть границы использования PHP. Конечно кто-то всё это назовёт бредом, скажет мол размер у приложений большой, и память у них течет, и муторно всё это. Пусть говорят, однако никто не призывает Вас писать все оконные приложения на PHP, а данная статья лишь неплохое подспорье для пхп кодеров и всех интересующихся. На сим я закончу. Удачи.

Опубликовал Kest Ноябрь 06 2008 19:51:54 · 0 Комментариев · 9654 Прочтений ·

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •

Комментарии
Нет комментариев.
Добавить комментарий

Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь .

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Рейтинги