Создание приложения EXE в PHP DevelStudio. Урок 1

Создание приложения EXE в PHP DevelStudio

От автора: задумывались ли Вы когда-нибудь о создании программ под Windows (приложений exe)? Думаю, что многие из Вас могут ответить положительно на этот вопрос. Данный цикл из 2-х уроков покажет Вам, как создавать такие приложения, пользуясь знаниями такого популярного языка программирования, как PHP.

Да-да, Вы не ослышались, именно PHP. Оказывается знания этого языка можно использовать не только для веб-программирования, но и для создания полноценных программ под Windows. А поможет нам в этом среда программирования PHP DevelStudio.

Детали учебника

Тема: PHP

Сложность: Средняя

Урок: Видео версия (.mp4)

Время: 00:43:12

Размер архива: 92 Mb

скачать исходникискачать урок

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

Задача, в общем-то, очень простая и на PHP решается буквально минут за 5-10. Но, сами понимаете, — это не выход, поскольку тогда мне бы пришлось устанавливать человеку веб-сервер, показывать как его запускать, скрипт бы работал только в браузере… в общем, такой вариант не подходит.

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

Для начала давайте прикинем логику работы приложения. Итак, нам потребуется 2 папки, в первой папке (назовем ее /files/) будут находиться файлы, которые необходимо сортировать, во вторую — /result/ — будем складывать уже сортированные файлы. Усложнять ничего не будем и сортировка будет производиться только по одному параметру — по дате. Соответственно, нам нужно будет считать все файлы в массив, а затем пройтись в цикле по массиву файлов. При этом для каждого файла будем получать его дату и по этой дате в папке /result/ будем создавать одноименную папку (если таковой еще нет). Например, имеем файл с датой 1 февраля 2010 года. При сортировке этого файла мы создадим папку 2010-02-01 и переместим файл в созданную папку. Ну а на выходе покажем пользователю результат в виде количества сортированных файлов.

Все довольно просто. В видео Вы можете посмотреть пошаговое создание функции. Здесь же я просто приведу уже готовую функцию, максимально откомментировав код:

function sortFiles(){
	$dir = "files/"; // каталог с файлами для сортировки
	$res = "result/"; // каталог, в который складываем сортированные файлы

	if(!file_exists($res)) mkdir($res); // создаем каталог, если его нет

	$files = array(); // массив, в который будем читать файлы
	$handle = @opendir($dir); // открываем папку с файлами
	
	/* если не получилось открыть папку */
	if(!$handle){
		mkdir($dir); // создаем папку для файлов
		exit("Нет папки с подготовленными файлами - /files/"); // выводим сообщение о том, что папки нет
	}
	
	/* читаем содержимое папки */
	while (false !== ($file = readdir($handle))) { 
		if(is_dir($dir.$file)) continue; // если это каталог - пропускаем его
		$files[] = $file; // складываем в массив файлы
	}

	if(!$files) exit("Папка с подготовленными файлами пуста"); // если в массиве нет файлов - сообщаем об этом

	$i = 0; // устанавливаем счетчик файлов

	/* проходимся в цикле по массиву файлов */
	foreach($files as $file){
		$date = date("Y-m-d", filemtime($dir.$file)); // получаем дату текущего файла
		/* если нет папки с датой текущего файла */
		if(!file_exists($res.$date)){
			mkdir($res.$date); // создаем папку с датой текущего файла
		}
		rename($dir.$file, $res.$date."/{$file}"); // переносим файл из папки с файлами в папку для сортировки
		$i++; // увеличиваем счетчик на единицу
	}

	echo "Сортировано файлов: $i"; // выводим количество сортированных файлов
}

sortFiles();

На этом первый урок по созданию приложения под Windows завершен. Жду Вас во втором уроке, где мы приступим к непосредственной работе со средой программирования PHP DevelStudio.

Удачи Вам и до новых встреч!

P.S. Если тема создания приложений для Windows в среде PHP DevelStudio Вам будет интересна, то мы, безусловно, продолжим ее.

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки: ,

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (10)

  1. Rayzor

    Нафига какой то DevelStudio? Есть php2exe и пиши в любом редакторе код.

    • Андрей Кудлай

      И в чем принципиальная разница? Собственно, PHP DS — это и есть ни что иное, как php2exe с удобным интерфейсом и массой дополнительных возможностей.

  2. Vyacheslav

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

    • Андрей Кудлай

      Никак. Для выполнения таких приложений нужна специальная среда.

    • Vyacheslav

      Тогда получается, овчинка не стоит выделки.

      • Андрей Кудлай

        Почему? Тогда, следуя подобной логике, можно сказать, что не нужны все приложения EXE, поскольку они не запускаются в браузере???
        Посмотрите еще раз первые 5 минут видео, где я рассказываю, почему мне нужно было создание именно десктопного приложения… я ведь мог ограничиться только серверной средой, но в том то и дело, что мне нужен был код, не зависящий от сервера. В итоге было создано полностью функциональное практичное приложение для Windows, которое мог использовать пользователь, не имеющий никакого представления о сервере, вебе и тому подобных вещах.

        • Vyacheslav

          Получается, что все-таки рациональней выполнить «егзешник» в любой IDE RAD и выставить его для скачивания на сайте.

          • Андрей Кудлай

            В зависимости от того, что нужно получить в результате. Если нужен продукт, не привязанный к серверу, то, конечно же, нужно будет скомпилировать EXE в любой среде, позволяющей это сделать, и дать ссылку на скачивание полученного продукта. Ну а скачавший его, сможет уже пользоваться программой, не устанавливая для этого у себя сервер и интерпретатор.
            Если же нужен продукт, работающий именно в среде ВЕБ (сайт, скрипт), то для этого, понятное дело, нам файл EXE и не нужен вовсе :)

          • Vyacheslav

            А когда ориентировочно ожидать 2 урок?

          • Андрей Кудлай

            А он уже давно опубликован — Создание приложения EXE в PHP DevelStudio. Урок 2

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree