Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Ответ 007 на задачу N 10
 
 автор: SoftTime   (03.03.2006 в 19:03)   письмо автору
 
 

Ответ 007 на задачу N 10.
С условиями задачи можно ознакомится по ссылке.
Добавил реакцию на отсутствие файлов картинок и файла описания.

<?php
//автор: Drago

//&#234;&#224;&#242;&#224;&#235;&#238;&#227; &#241; &#234;&#224;&#240;&#242;&#232;&#237;&#234;&#224;&#236;&#232;
$dir ".";
//&#244;&#224;&#233;&#235; &#241; &#238;&#239;&#232;&#241;&#224;&#237;&#232;&#229;&#236;
$file_description "descript.ion";
//&#234;&#238;&#235;&#232;&#247;&#229;&#241;&#242;&#226;&#238; &#241;&#242;&#238;&#235;&#225;&#246;&#238;&#226; &#226; &#242;&#224;&#225;&#235;&#232;&#246;&#229;
$num 10;
//&#242;&#232;&#239;&#251; &#244;&#224;&#233;&#235;&#238;&#226; &#228;&#235;&#255; &#239;&#240;&#238;&#241;&#236;&#238;&#242;&#240;&#224;
$type = array("jpg""JPG""gif""GIF""bmp""BMP");
$hdl opendir ($dir);
while (
$file readdir ($hdl))
{
  
//&#229;&#241;&#235;&#232; $file &#253;&#242;&#238; &#244;&#224;&#233;&#235; &#232; &#232;&#236;&#229;&#229;&#242; &#237;&#243;&#230;&#237;&#251;&#233; &#237;&#224;&#236; &#242;&#232;&#239;, &#242;&#238; &#228;&#238;&#225;&#224;&#226;&#235;&#255;&#229;&#236; &#229;&#227;&#238; &#226; &#236;&#224;&#241;&#241;&#232;&#226; $array
  
if ((is_file ($file)) && (array_search (substr ($filestrrpos ($file".") + 1), $type) !== false))
    
$array[] = $file;
}
closedir ($hdl);
if (
file_exists ($file_description))
{
  
$descrip file ($file_description);
  foreach (
$descrip as $key => $value)
  {
    
//&#241;&#238;&#231;&#228;&#224;&#229;&#236; &#237;&#238;&#226;&#251;&#233; &#253;&#235;&#229;&#236;&#229;&#237;&#242; &#241; &#234;&#235;&#254;&#247;&#229;&#236; - &#237;&#224;&#231;&#226;&#224;&#237;&#232;&#229;&#236; &#244;&#224;&#233;&#235;&#224;, &#231;&#237;&#224;&#247;&#229;&#237;&#232;&#229;&#236; - &#238;&#239;&#232;&#241;&#224;&#237;&#232;&#229;&#236;
    
$descrip[substr ($value0strpos ($value" "))] = substr ($valuestrpos ($value" ") + 1);
    unset (
$descrip[$key]);
    if (!empty (
$array))
    {
      
//&#229;&#241;&#235;&#232; &#242;&#224;&#234;&#238;&#233; &#244;&#224;&#233;&#235;, &#228;&#235;&#255; &#234;&#238;&#242;&#238;&#240;&#238;&#227;&#238; &#229;&#241;&#242;&#252; &#238;&#239;&#232;&#241;&#224;&#237;&#232;&#229;, &#238;&#242;&#241;&#243;&#242;&#241;&#242;&#226;&#243;&#229;&#242; &#226; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#229;, &#242;&#238; &#228;&#238;&#225;&#224;&#226;&#235;&#255;&#229;&#236; &#229;&#227;&#238; &#226; &#236;&#224;&#241;&#241;&#232;&#226; $array
      
if (array_search (substr ($value0strpos ($value" ")), $array) === false)
        
$array[] = substr ($value0strpos ($value" "));
    }
    else
      
$array[] = substr ($value0strpos ($value" "));
  }
}
if (empty (
$array))
  exit (
"&#194; &#234;&#224;&#242;&#224;&#235;&#238;&#227;&#229; &#234;&#224;&#240;&#242;&#232;&#237;&#234;&#232; &#238;&#242;&#241;&#243;&#242;&#241;&#242;&#226;&#243;&#254;&#242;");

$num_change $num;
echo 
"<table border=1><tr>";
foreach (
$array as $key => $pic)
{
  echo 
"<td><img src=$pic>";
  if (!empty (
$descrip[$pic]))
    echo 
"<br>" $descrip[$pic];
  echo 
"</td>";
  if ((
$key 1) / $num_change == 1)
  {
    echo 
"</tr><tr>";
    
$num_change += $num;
  }
}
echo 
"</tr></table>";
?>


http://www.softtime.ru/info/task.php?id_article=80

   
 
 автор: cheops   (06.03.2006 в 00:08)   письмо автору
 
   для: SoftTime   (03.03.2006 в 19:03)
 

Компактно, но читабельным код не поворачивается назвать из-за HTML-символов. Осуществляется проверка расширения файлов - оригинально решена проблема регистра, такой подход не принято называть "грамотным", но здесь он более чем оправдан - число расширений не велико, а когда они явно прописаны сразу видно что к чему. Однако, скрипт отображает фотографии, которые присутствуют в каталоге, но отсутствуют в файле описания - это наверное не совсем то, чего бы хотел администратор.

   
 
 автор: Drago   (06.03.2006 в 09:02)   письмо автору
 
   для: cheops   (06.03.2006 в 00:08)
 

Странно, когда постил все было по-русски. Наверное кодировка сбилась. Если можно, то исправьте, а то читать затруднительно другим будет.

>Однако, скрипт отображает фотографии, которые присутствуют в каталоге, но отсутствуют в файле описания - это наверное не совсем >то, чего бы хотел администратор.
Почему же? Ведь в задании написано:

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

То есть, выводить нужно все фотографии, и если имеется подпись, то выводить и ее тоже.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования