За последние 24 часа нас посетили 35690 программистов и 1630 роботов. Сейчас ищут 1178 программистов ...

О каталогах и файлах...

Тема в разделе "PHP для новичков", создана пользователем Михаил, 2 авг 2009.

  1. Михаил

    Михаил Активный пользователь

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Привет.

    Скажите, есдли в катлоге есть файлы картинок и у каждой разные разрешения, то как их выгрузить на страницу, но с одним и тем же одинаковым разрешением?
    И как на начальном этапе проверить является ли файл картинкой или это только можно проверить полсе загрузки?

    Спасибо...
     
  2. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    PHP:
    1. <?php
    2.  
    3. function isImage($filename) {
    4.     $image_file_array = array("gif", "png", "jpg");     // определим массив расширений картинок.
    5.     $extension = array_pop(explode(".", $filename));    // выделим из имени файла расширение
    6.     if (in_array($extension, $image_file_array)) {      // и если он совпадает с эллементом в массиве,
    7.         return true;                                    // значит он - картинка,
    8.     } else {
    9.         return false;                                   // иначе он - не картинка.
    10.     }
    11. }
    12.  
    13. function showImageDir($dir) {
    14.     $dp = opendir($dir);                                // откроем папку.
    15.     if (!$dp) {
    16.         die ("Error of opening folder $dir");
    17.     }
    18.  
    19.     while($file = readdir($dp)) {                       // выберем из нее файл
    20.         if (isImage($file)) {                           // и если он изображение,
    21.             echo "<img src='$file'> ";                  // покажем его.
    22.         }
    23.     }
    24. }
    25.  
    26. ?>
    Как переделать все картинки под одно расширение не скажу, но

    isImage() - определяет, является ли файл картинкой.
    showImageDir() - выводит все картинки из папки.
     
  3. TheShock

    TheShock Активный пользователь

    С нами с:
    30 май 2009
    Сообщения:
    1.255
    Симпатии:
    0
    Адрес:
    Київ
    это - неправда. она определяет, закачивается файл на ".gif", ".png", или ".jpg", но это еще не значит, что в файле картинка ;)
     
  4. sukharevd

    sukharevd Активный пользователь

    С нами с:
    1 июл 2009
    Сообщения:
    35
    Симпатии:
    0
    Адрес:
    Kiev
    TheShock,
    согласен;) от подмены этим не защитишься.
     
  5. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    PHP:
    1. <?
    2. function is_image($dir,$types=array("gif","jpg","jpeg","png","bmp")){
    3.   if(is_file($dir)){
    4.      $exp=strtolower(preg_replace("#(.+)\.#i","",basename($dir)));
    5.      if(in_array($exp,$types)){
    6.          if($info=@getimagesize($dir))
    7.            return (stripos($info['mime'],"image/")===0);
    8.      }
    9.   }
    10. return false;
    11. }
    12. ?>
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
  7. Михаил

    Михаил Активный пользователь

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
    Спасибо за эти чудеса