17.12.2006, 03:23
общий
это ответ
Здравствуйте, Валера!
Не очень вдавался в подробности получения информации о картинке и чтении файла.
Будем надеяться, что там всё правильно :)
Единственное что там добавил: "[]" - а то у Вас в одной части программы переменные $picture и $description строки, а в другой - рассматриваются как массив.
Доработал вывод таблицы (алгоритм можно построить и по другому + привожу свой вариант, не проверял).
Код в приложении.
Удачи!
P.S. Чтобы избежать обратного слеша используйте ещё один тип кавычек: ординарный.
Приложение:
<?php$num = 3; $file = "descript.ion";$mime = array("image/bmp", "image/jpeg", "image/gif"); $variant = array("jpg", "gif", "bmp");$files_in_array = file($file);$picture = array();$description = array(); foreach ($files_in_array as $file_in_array) { list($file_name, $desc) = explode(" ", $file_in_array); if (file_exists($file_name)) { $info = pathinfo($file_name); $txt = $info[‘extension‘]; if (in_array($txt, $variant)) { $size = getimagesize($file_name); if (in_array($size[‘mime‘], $mime)) { $picture[] = ‘<img src="‘.$info[‘dirname‘].‘/‘.$info[‘basename‘].‘" ‘.$size[3].‘>‘; $description[] = ‘<p>‘.$desc.‘</p>‘; } } } else { $picture[] = ‘<img src="‘.$file_name.‘" width="80" height="122" alt="No image">‘; $description[] = ‘<p>‘.$desc.‘</p>‘; }}if (count($picture)) { $row = ceil(count($picture)/$num); echo(‘<table style="border: 1px solid #aaa" cellpadding="0" cellspacing="0" border="0" width="100%">‘); $k = 0; for ($i = 0; $i < $row; $i++) { echo(‘<tr>‘); for ($j = 0; $j < $num; $j++) { if (isset($picture[$k])) echo(‘<td width="33%">‘.$picture[$k].$description[$k].‘</td>‘); else echo(‘<td width="33%"> </td>‘); $k++; } echo(‘</tr>‘); } echo(‘</table>‘);}/*if (count($picture)) { echo(‘<table style="border: 1px solid #aaa" cellpadding="0" cellspacing="0" border="0" width="100%"><tr>‘); for ($k = 0; $k < count($picture); $k++) { if (isset$picture)){ echo(‘<td width="33%">‘.$picture[$k].$description[$k].‘</td>‘); if (($k+1)%3 == 0){ echo(‘</tr>‘); if($k != count($picture)) echo(‘<tr>‘); } } else { echo(‘<td width="33%"> </td>‘); } } echo(‘<table>‘);}*/?>