• 88529
  • 417
  • 44
Нравится блог?
Подписывайтесь!

Вывод и сохранение всех файлов проекта - легко!

Сталкнулся с проблемой подготовки приложения для диплома - нужно было собрать исходные коды (файлы *.php) своего проекта в один файл. Открывать и копировать содержимое каждого файла желания почему-то не было, поэтому и написал небольшой класс для автоматизации этой работы.

Возможности:
  • рекурсивное сканирование выбранной директории
  • возможность вырезать комментарии /*типа такого*/
  • подстветка синтаксиса
  • вывод на экран
  • сохранение в файл (в формате HTML)
  • вывод структуры каталогов

Ничего сложного нет, но может быть кому-то и пригодится.



Пример использования:

$start = new view_source($dirname, $comment, $showdir, $filename);

$dirname - путь к директории (например $dirname = 'C:/WebServers/home/diplom/www';)
$comment - может принимать 2 значения, если это 0 - то комментарии вырезаются, если 1 - то остаются)
$showdir - может принимать 2 значения, если это 0 - то путь к директории не отображается, если 1 - отображается)
$filename - имя файла, в который мы сохраняем все исходники, если же файл не задан - все выводится на экран

Простейший вызов скрипта может выглядеть так:


$start = new view_source('C:/WebServers/home/diplom/www', 0, 0, 'test.html');


В этом случае информация сохранится в файл test.html, при этом путь к файлам и комментарии не отображаются.

Из-за проблем со слэшами и тэгами - исходный код класса приводится в отдельном файле, котороый вы можете взять здесь.
2 июня 2008, 1:29
604

Загрузка...

Комментарии

Полезно! Поставил +
Вообще-то, не обязательно об этом говорить!
subaur
0
0
да ладно, какая разница!
я бы тебе минус поставил, но не буду патрон тратить :-)))
2 Quessir Во общето хотел написать +1, но как обычно из-за того что строчу на клаве как машина и иногда не проверяю свои посты на грамматические и другие ошибки, получился просто +.
p0is0n
0
0
а что будет со строкой?

$s = \this text /* text */ this text\;

если $comment тру?
eudj1n
0
0
в том виде, в котором есть сейчас - вырезается все между /* и */
в моем коде таких строк, как приводите Вы - нету :)
но все решается очень просто, нужно лишь подправить строку с preg_replace.
p0is0n
0
0
можете подсказать как?

в этом случае все ваши комментарии не должны начинаться и заканчиватся пробелами, их не должно быть перед /* и после */
если этот вариант не подойдет, напишу что-нибудь получше, это самый простой.
Тоже диплом, тоже на ПХП, испытаю.

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Тебе не повезло – ты родился мужчиной в Казахстане. Пародия по мотивам «Письмо дочери»

Тебе не повезло – ты родился мужчиной в Казахстане. Пародия по мотивам «Письмо дочери»

Весь день сверкал в фейсбуке пост Дамира Баймолдина о нелегкой доле казахстанских женщин. Ну, и я решил внести свою лепту в душетрепещущую тему.
distemper2011
19 сент. 2016 / 11:18
  • 11564
  • 24
Я –живой пример того, что для начала собственного дела не нужны большие деньги

Я –живой пример того, что для начала собственного дела не нужны большие деньги

Сегодня утром ко мне позвонила тетя и сообщила, что хочет открыть свое дело, но не знает с чего начать и не уверена, хватит ли ей первоначального капитала. Вы не представляете, как она удивилась, когд
toskanbayev_a
21 сент. 2016 / 16:45
  • 9207
  • 24
Тохтар Тулешов: Чистосердечное признание. Кто слил в сеть?

Тохтар Тулешов: Чистосердечное признание. Кто слил в сеть?

Ведется расследование в отношении лиц, причастных к распространению снимков чистосердечного признания Тохтара Тулешова в сети...
TangoInHarlem
19 сент. 2016 / 17:25
  • 8211
  • 11
Кызылорда: перезагрузка, или что изменилось за последние несколько лет

Кызылорда: перезагрузка, или что изменилось за последние несколько лет

В преддверии Дня города мы решили вспомнить, как росла и развивалась наша родная Кызылорда в последние годы. Хотим поделиться своей любовью к родному городу с читателями Юви в этой фотоподборке ...
socium_kzo
22 сент. 2016 / 10:09
  • 6194
  • 6
Сватовство в Казахстане или Заберите скорее мою дочь к себе

Сватовство в Казахстане или Заберите скорее мою дочь к себе

Всю мою сознательную жизнь мне приходилось ходить в гости. В гостях неплохо, не спорю. Бесплатная еда и напитки. В особо продвинутых семьях ещё предоставляются услуги Free Wi-Fi. В особо весёлых...
almatinec_92
23 сент. 2016 / 9:33
25 годовщину независимости от колониального гнета Киргизия встретила вот так...

25 годовщину независимости от колониального гнета Киргизия встретила вот так...

Трехлетний Исхак стал звездой киргизских СМИ и соцсетей на прошлой неделе. Его фотография, спящего на улице среди окурков на картонке, вызвала шок в обществе. В принципе это подобное фото можно...
Shpak
20 сент. 2016 / 15:52
Apple – это уже прошлое. XIAOMI тихо стал настоящим и будущим

Apple – это уже прошлое. XIAOMI тихо стал настоящим и будущим

Безусловно мы все относимся с большим уважением с Стив Джобсу. Но его уже больше 5 лет нет с нами. Бессмысленно продолжать фанатеть от продукции Apple...
GALAN
22 сент. 2016 / 23:19
  • 3102
  • 12
Образование в Японии. Вы только не подумайте, что они тут воспитывают спартанцев

Образование в Японии. Вы только не подумайте, что они тут воспитывают спартанцев

Моё чисто дилетантское сравнение системы образования между скандинавскими странами (а если конкретней, то Финляндия) и Японии. Безусловно, финское начальное образование держит первенство...
Abdygali
18 сент. 2016 / 14:22
  • 3012
  • 13
В октябре 2016 года состоится VII съезд судей Казахстана

В октябре 2016 года состоится VII съезд судей Казахстана

Проведение съездов судей позволяет принимать стратегические решения по вопросам развития судебной системы и способствует укреплению принципов независимости судейского сообщества.
elawkz
23 сент. 2016 / 13:45
  • 2420
  • 0