От автора: задумывались ли Вы когда-нибудь о создании программ под 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 и переместим файл в созданную папку. Ну а на выходе покажем пользователю результат в виде количества сортированных файлов.
Все довольно просто. В видео Вы можете посмотреть пошаговое создание функции. Здесь же я просто приведу уже готовую функцию, максимально откомментировав код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
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 Вам будет интересна, то мы, безусловно, продолжим ее.
Комментарии (10)