Колориметрия, печать и препресс: технологии Главная Форум Галерея Контакты Download Статьи
Сражаясь неустанно,
доживём мы, Санчо,
до Золотого века!
 

Форум колористов и полиграфистов

Колориметрия и печать: технологии
 
Текущее время: 15:46, Вс, 30 апр 2017
Темы без ответов | Активные темы


Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 15:18, Сб, 11 фев 2017 
Не в сети
Администратор

Зарегистрирован: 16:58, Ср, 18 авг 2004
Сообщения: 718
Откуда: Москва
Для более продвинутого оформления листинга файлов, чем использование директивы Options +Indexes в .htaccess, можно использовать удобную функцию php - glob. Захотелось сделать как на маке чередование подсветки строк листинга, вот как это реализовано на примере.
Создадим стиль css для листинга, масштабируемый естественно, с резиновой таблицей, чтобы и на iPhone хорошо смотрелось, примерно такой:
Код:
<style>
BODY {FONT-FAMILY: Verdana, Arial, Helvetica, Geneva, Sans-Serif; FONT-SIZE: 10pt; -webkit-text-size-adjust: 100%; }
#table_listing {display: table; border:0px; border-spacing:0px; max-width:99%; width:95%; padding:0px; font-size:9pt; color: #002500; }
#table_listing a {color: #002500 !important;}
.row {display: table-row; border:0; border-spacing:0; padding:0; }
.cell_70L { display: table-cell; width:70%; text-align:left; vertical-align:middle; padding:2px; height:16px; word-break:break-all; }
.cell_24L { display: table-cell; width:24%; text-align:left; vertical-align:middle; padding:2px; height:16px; }
.cell_5L { display: table-cell; width:5%; text-align:right; vertical-align:middle; padding:2px; height:16px; }
.cell_1L { display: table-cell; width:1%; text-align:center; vertical-align:middle; padding:2px; height:16px; }
.cell_chet0 {background-color: rgba(204,204,204,0);}
.cell_chet1 {background-color: rgba(64,64,64,0.06);}
@media (max-device-width: 736px), (max-width: 752px) {
#table_listing {width:100%; max-width:100%;}
}
</style>

И собственно сам скрипт листинга поместим в нужное нам место индексного файла внутри тегов <body>:
Код:
<?php
echo '<div id="table_listing">';
$chet = 0;
foreach (glob("*.*") as $filename) {
   $filesr = filesize($filename)/1024;
   $kbmb = "Kb"; $prec = 1;
   if ($filesr >= 1024) {$filesr = $filesr/1024; $kbmb = "Mb";}
   if ($filesr >= 10) {$prec = 0;}
   if ($filename != "index.php" && $filename != "HEADER.html" && $filename != "README.php") {
      if($chet==0) {$chet=1;} else {$chet=0;}
      $ico = substr($filename, -3, 3);
    echo '<div class="row"><span class="cell_1L cell_chet' . $chet . '"><a href="' . $filename . '"><img src="ico/' . mb_strtolower($ico) . '.png" /></a></span><span class="cell_70L cell_chet' . $chet . '"><a href="' . $filename . '">' . $filename . '</a></span><span class="cell_24L cell_chet' . $chet . '">' . date ("Y-m-d H:i", filemtime($filename)) . '</span><span class="cell_5L cell_chet' . $chet . '">' . round($filesr, $prec) . $kbmb . '</span></div>';
   }
}
echo '</div>';
?>

Условие if ($filename... позволяет не выводить в листинг служебные файлы, указанные в нем, типа самого файла index.php. Для красоты понадобятся маленькие иконки или значки типов файлов, я надергал на маке и на пц что показалось покрасивее, иконки в аттаче. Папку ico надо положить соответственно в каталог, для которого делаем листинг.
Вложение:
Комментарий к файлу: very small icons files types, очень маленькие значки типов файлов, 16x16 px, с прозрачностями и полупрозрачностями png, 24 шт.

Вложение:
Комментарий к файлу: увеличенные preview для значков типов файлов
ico_preview.png
ico_preview.png [ 13.67 КБ | 33 просмотра ]
В моем варианте ищется не строго расширение типа файла, которое может быть не только трехзначным, но и четырех-, типа xlsx. Этот скрипт находит три последних символа, для примера xlsx находит lsx. Значки названы соответственно. mb_strtolower приводит все расширения к нижнему регистру, чтобы не плодить одни и те же иконки дважды.
Переменная $chet управляет чересстрочным чередованием подсветки фона строчек листинга, чтобы выглядело, как список файлов на маке.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
© CIELab.XYZ
Создано на основе phpBB® Forum Software © phpBB Limited
Конференция запущена 18 августа 2004 года | Защищено от спама системой stopforumspam
Всего посещений - 3852554 | Всего за день - 367 | Уникальных сегодня - 80, вчера - 155, позавчера - 194