|
|
|
|
|
для: SoftTime
(28.02.2006 в 16:59)
| | Компактно и читаемо, со своей задачей скрипт полностью справляется. Очень хорошо, что осуществляется проверка по медиа-типу и нет проблем с регистром файлов. Однако, скрипт отображает фотографии, которые присутствуют в каталоге, но отсутствуют в файле описания - это наверное не совсем то, чего бы хотел администратор. | |
|
|
|
|
|
|
| Ответ 003 на задачу N 10.
С условиями задачи можно ознакомится по ссылке.
<?php
// к-во столбцов в выводимой таблице
$cols = 3;
// папка
$dir = getcwd();
// массивы с mime-типами и расширениями искомых файлов
$mime_arr = array("image/gif", "image/bmp", "image/jpeg");
$ext_arr = array("gif", "jpg", "bmp", "jpeg");
/* парсинг descript.ion */
$descript = file("descript.ion");
foreach ( $descript as $var ) {
$expld = explode(" ", trim($var), 2);
$desc[$expld[0]] = $expld[1];
} /* конец парсинга descript.ion */
// чтение, проверка файлов и поиск описания для них
$open = opendir($dir);
while ( false !== ($read = readdir($open)) ) {
if ( is_file($read) ) {
// определение расширения файла
$r_ext = explode(".", $read);
$ext = strtolower($r_ext[count($r_ext) - 1]);
// проверка расширения
if ( in_array($ext, $ext_arr) ) {
// определение параметров изображения
$size = getimagesize($read);
// проверка mime
if ( in_array($size['mime'], $mime_arr) ) {
// запись в массив найденных файлов
if ( array_key_exists($read, $desc) ) {
$images[$read]['img'] = "<img src=\"".$read."\" ".$size[3].">";
$images[$read]['desc'] = "<br />".$desc[$read];
} else {
$images[$read]['img'] = "<img src=\"".$read."\" ".$size[3].">";
$images[$read]['desc'] = "";
}
}
}
}
}
/* вывод таблицы */
// определение количества строк
$rows = ceil(count($images) / $cols);
echo("<table border=\"0\" align=\"center\" cellpadding=\"5\">\n");
for ( $i = 0; $i < $rows; $i++ ) { // цикл для строк
echo("<tr>");
for ( $j = 0; $j < $cols; $j++ ) { // цикл для столбцов
$now = each($images); // получение элемента массива
echo("<td align=\"center\">".$now[1]['img'].$now[1]['desc']."</td>\n");
if ( !$now ) break;
}
echo("</tr>\n");
}
echo("</table>");
?>
|
http://www.softtime.ru/info/task.php?id_article=80 | |
|
|
|
|