Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Компилируем PHP в Win приложения |

24.07.2009, 21:02
|
|
Постоянный
Регистрация: 05.12.2004
Сообщений: 647
Провел на форуме: 1698585
Репутация:
818
|
|
Компилируем PHP в Win приложения
Компилируем PHP в Win приложения
Что нам понадобится скачать:
1. winbinder - Фреймворк для разработки ГУИ, легкий в использовании.
Скриншот программы
2. Bambalam PHP EXE Compiler/Embedder - Компилятор PHP скриптов. Качаем последнюю версию.
Мини фак по использованию:
Usage:
bamcompile [-options] infile.php [outfile.exe]
bamcompile [-options] project_directory mainfile.php [outfile.exe]
bamcompile projectfile.bcp
Options:
-w Hide console window for windowed applications
-c Compress output exe (using UPX)
-d Do not encode PHP files
-e:extension.dll Embed and use PHP extension
-i:icon.ico Add icon to exe
Далее будет подробно...
3. UPX - Компресор, чтоб наше приложение на выходе было не таким весомым. В bamcompile он уже есть, но я качал последнюю версию с SVN'a.
4. Иконка =) для нашего приложения, допустим эта - ЙА ИКОНКО
5. php_winbinder.dll - библиотека для создания окон, это нужно для того что в некоторых версиях bamcompile к примеру в последней версии на данный момент 1.21 некоректно работает с окнами и создает нерабочие приложения, данная либа решает эту проблемму.
Подготовка
1. Создаем на Диске C: файл cmd.bat с содержимым:
2. Создаем там же папку bamcompile, в нее кидаем:
bamcompile.exe - компилятор
favicon.ico - иконку
php_winbinder.dll - библиотеку
upx.exe - упаковщик
И обязательно папку include из установленой программы WINBINDER по умолчанию путь к ней C:\WinBinder\phpcode\include в етой папке класс для работы с Формами.
Вот в принцыпе и все. Перейдем к небольшому примеру:
Пример 1. Запускаем наш cmd.bat в него закидываем bamcompile.exe[пробел]
Теперь нужно указать все параметры:
2. Ставим иконку:
-i:C:\bamcompile\favicon.ico[пробел]
Подсказка: в окно консоли можно закидывать файлы, и путь будет прописываться автоматом, ненужно писать все пути вручную.
3. Добавляем библиотеку
-e:C:\bamcompile\php_winbinder.dll[пробел]
4. Далее указываем что ето Оконное приожение а не консольное (-w) и то, что мы хотим его запаковать пакером UPX (-c)
5. Указываем путь к скрипту который компилим:
C:\bamcompile\calculate.php
Готово, если сделали все правильно, то в папке где был скрипт появится EXE файл, упакованый и с иконкой. На скрине удачно выполненый нерультат:
Для примера я взял готовый php скрипт, с коментариями. Скрипт скапипизжен с http://www.codenet.ru/webmast/php/PHP-Compiler-EXE/
PHP код:
<?php
// Подключаем основную библиотеку
include "include/winbinder.php";
// Даём метки окнам редактирования
define('IDC_EDITBOX1002', 1002);
define('IDC_EDITBOX1003', 1003);
// Рисуем окошко
$winmain = wb_create_window(null,
AppWindow,
'MD5 Hash Generator by S1B [SBT]',
WBC_CENTER, WBC_CENTER, 315, 134,
0x00000000, 0);
// Шпигуем окошко кнопками
# Рисуем рамочку
wb_create_control($winmain, Frame, '', 10, 10, 290, 85, 0, 0x00000000, 0, 0);
# Рисуем надписи (лейблы)
wb_create_control($winmain, Label, 'Текст:', 23, 35, 45, 15, 0, 0x00000000, 0, 0);
wb_create_control($winmain, Label, 'Hash:', 23, 65, 45, 15, 0, 0x00000000, 0, 0);
# Рисуем окошки редактирования (нижнее будет неактивным), и загоняем их данные в переменные
$text=wb_create_control($winmain, EditBox, '', 78, 30, 210, 20, IDC_EDITBOX1002, 0x00000000, 0, 0);
$hash=wb_create_control($winmain, EditBox, '', 78, 60, 210, 20, IDC_EDITBOX1003, 0x00000040, 0, 0);
// Две необходимые надписи =)
wb_set_handler($winmain, "process_main");
wb_main_loop();
function process_main($window,$id) {
# Объявляем данные окошек редактирования глобальными
global $text,$hash;
switch($id) {
case IDC_EDITBOX1002:
wb_set_text($hash,md5(wb_get_text($text)));
break;
case IDCLOSE:
wb_destroy_window($window);
break;
}
}
?>
В результате имеем программу с приятным интерфейсом
Все файлы, можно скачать с моего архива - http://b3.grabberz.com/files/bamcompile.rar [3mb]
b3 (c) Спешинал для недовольного Pashkela 
Последний раз редактировалось b3; 27.07.2009 в 21:46..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|