Нужен скрипт галереи как на www.matrimonio.ru

Тема в разделе "Коммерческие", создана пользователем Dianis, 1 апр 2008.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. Dianis

    Dianis Писатель

    Регистр.:
    2 апр 2007
    Сообщения:
    3
    Симпатии:
    0
    Доброе время суток всем!

    Ищу простой скрипт галереи, все галереи которые я находил поиском не подходят.

    Нужна галерея такая же как Перейти по ссылке
    Маленькие фотки предпросмотра распологаются в 2 ряда, при этом большое изображение показывается 1 фотки из первого ряда уже отображается на странице, далее при нажатии на маленькие фотки происходит их увеличение.
    Короче говоря вот точный Перейти по ссылке

    Т.е. довольно простая и без лишних функций галерея, но все таки со своими заморочками :)

    Искал в интернете и нашел очень много простых галерей, но вот что бы с заморочками которые описал выше, нет.
    Вот найденный мной пока самый лучший вариант, требующий минимум доработки Перейти по ссылке

    Вот его php код

    PHP:
    <?
    //-------------------------------------------------------------------------------------
    //    W-Nailer 0.14 - Willem Nailer
    //    ************************
    //    Removal of this text voids warranty... :)
    //
    //    Please leave this text in place, since it is only as much as credit for
    //    the creator of this script; /me: Willem.
    //
    //    This script is still in the testing fase. For any errors, comments,
    //    suggestions you can contact me at the e-mail address below.
    //
    //    (c)2001 by J.W.Veldhuizen <willem@vddh.com>, http://www.vddh.com
    //-------------------------------------------------------------------------------------

    $parent "nailer.php"// name of this file
    $per_row 3// pictures per row to be displayed
    $quality 100// 100 best quality, 0 worst
    $max_size 80// thumbnail maximum size in pixels
    $pikkies 9// pictures to be shown per page

    // what file type do we proces? supported: jpg, png, gif
    $ft "jpg";

    // picture dir; contains source files
    $pdir "example";

    // thumbs dir; destination dir assumed to be within the picture dir
    $tdir "thumbs";

    // display properties; 0 is off, 1 is on
    $show_time 0// show file time&date
    $show_props 0// show file size and resolution

    // rename the files?
    $rename "yes";
    $file_prefix "nailer_"// add prefix to renamed files
    $version "0.14";
    $new_gd 0// 1 for GD 2.0+, 0 for all lower GD libraries
    //-----------------------------------------------------------------------------
    ?>
    <html>
    <head>
    <style>
    A{
    text-decoration:none;
    font-family: Arial;
    font-size: 11px;
    color: #FF9900
    }
    A:hover{
    text-decoration:underline;
    font-family: Arial;
    font-size: 11px;
    color: green
    }
    TD {
    font-family: Arial;
    font-size: 11px
    }
    </style>
    </head>

    <body bgcolor=white>

    <?
    // check server support---------------------------------------------
    $err1 = '<center><font face=arial size=2><font color=red>';
    $err2 = ' </font> Filetype not supported by server. Aborting script.<br><br><a href="http://www.vddh.com/?page=scripts">Created by W-Nailer '.$version.'</a></font></center></body></html>';

    if ( $ft == "jpg" && !(ImageTypes() & IMG_JPG) ) {
        echo $err1.'JPEG'.$err2;
        exit;
    }
    elseif ( $ft == "gif" && !(ImageTypes() & IMG_GIF) ) {
        echo $err1.'GIF'.$err2;
        exit;
    }
    elseif ( $ft == "png" && !(ImageTypes() & IMG_PNG) ) {
        echo $err1.'PNG'.$err2;
        exit;
    }
    // ---------------------------------------------------------------------

    echo "<table border=1 align=center bordercolor=gray>\n";

    $data = $pdir."/nailer.txt";

    // get current dir listing -----------------------
    $reader = dir($pdir);
    while ($test = $reader->read()){
        $extensie = substr($test, -5,5);
        if (!preg_match("/.$ft/", $extensie)) {
            continue;
        }
        $names[] = $test;
    } // end while
    $reader->close();
    $ai = count($names);
    //-----------------------------------------------

    if ($ai == 0) {
        echo "<tr><td align=center>&nbsp;No <font color=red><b>$ft</b></font> files found in:&nbsp;<br>/$pdir</td></tr>".$footer;
        exit;
    }

    natcasesort($names);
    reset($names);

    if (!file_exists($data)) {
        $fp = fopen($data,"a");

        if ($rename == "yes") {
            for ($h = 0; $h < count($names) ; $h++) {
                $new_name = $file_prefix.$h.".".$ft;
                rename($pdir."/".$names[$h], $pdir."/".$new_name);
                $fp = fwrite($fp, $new_name."\n");
            }
        }
        else {
            for ($h = 0; $h < count($names) ; $h++) {
                $fp = fwrite($fp, $names[$h]."\n");
            }
        }

    } // end if

    else {
        $fp = fopen($data,"r");

        while ($content = fscanf ($fp, "%s\n")) {
            if (strlen(trim($content[0])) < 5) {
                continue;
            }
            $files[] = trim($content[0]);
        } // end while
        natcasesort($files);
        reset($files);
        fclose($fp);

        $nr_names = count($names);
        $nr_files = count($files);

        if ( $nr_names > $nr_files) { //assuming only files will be added

        $diff =array_diff($names, $files); // returns the difference
        $keys = array_keys($diff); // returns the keys in the new array as array
        $yep = 0; //because we have to start somewhere... :-)

            if ($rename == "yes") {
                for ($j = $nr_files; $j < ($nr_files + count($diff)) ; $j++) {
                    $new_name = $file_prefix.$j.".".$ft;

                    $pointer = $keys[$yep];
                    $yep++;

                    if (!in_array($names[$pointer], $files)) {
                        if (file_exists($pdir."/".$new_name)) {
                            echo $new_name." Something went wrong here! Please mail willem@vddh.com if you're unsure what went wrong!";
                            break;
                        }
                        rename($pdir."/".$names[$pointer], $pdir."/".$new_name);
                        $fp = fopen($data,"a");
                        $fp = fwrite($fp, $new_name."\n");
                    }
                } // end for

            }
            else {
                for ($j = 0; $j < count($names) ; $j++) {
                    if (!in_array($names[$j], $files)) {
                        $fp = fopen($data,"a");
                        $fp = fwrite($fp, $names[$j]."\n");
                    }
                } // end for
            }

        }

    } // end else
    //-----------------------------------------------


    // get new file listing -----------
    unset($names);
    $fi = fopen($data,"r");
    while ($cont = fscanf ($fi, "%s\n")) {
        $names[] = $cont[0];
    }
    fclose($fi);

    natcasesort($names);
    reset($names);
    $rows = ceil($i/$per_row);
    $i = count($names);

    // determine colspan
    if ($show_props != 0 || $show_time != 0) {
        $cols = $per_row*2;
    }
    else {
        $cols = $per_row;
    }

    if (!$id) {
        echo "<tr>\n <td colspan=".$cols." align=center><b><font color=green>$i</font></b> pictures</td>\n</tr>\n";
    }

    if (!$id) {

    $aantal = 0;

        if (!$page || $page == 1) {
            $pag = 0;
            $page = 1;
        }
        else {
            $pag = ($page - 1) * $pikkies;
        }

        for ($k = $pag; $k < count($names); $k++ ){

            if ($k > ($page*$pikkies - 1)) {
                break;
            }

            $file = $pdir."/".$names[$k];
            $thumb = $pdir."/".$tdir."/".$names[$k];

            if ($show_time == 1) {
                $filetime = date( 'H:i:s d/m/y', filemtime($file));
            }
            else {
                $filetime = '';
            }

            if ($show_props == 1) {
                $size = getimagesize($file);
                $kb = round((filesize($file)/1024), 1);
                $size = '<br><font size="1" color="gray">'.$size[0].'x'.$size[1].'<br>('.$kb.' Kb)</font>';
            }
            else {
                $size = '';
                $kb = '';
            }

            if ($show_props != 0 || $show_time != 0) {
                $cell = '<td align=center width=50>'.$filetime.$size.'</td>';
            }

            if (!file_exists($thumb)) {
                create_tn($names[$k]);
            }

            if ($teller == 0 || is_int($teller/$per_row) ) {
                echo "\n<tr height=".($max_size + 2).">\n";
            }

            echo ' <td align=center width='.($max_size + 2).'><a href="'.$parent.'?id='.base64_encode($names[$k]).'&page='.$page.'"><img src="'.$pdir.'/'.$tdir.'/'.$names[$k].'" border=1 alt="" style="border-color: black"></a></td>'.$cell;
            echo "\n";

            $teller++;

            if (is_int($teller/$per_row) ) {
                echo "</tr>\n";
            }
            elseif ($i == $k) {
                $colspan = ($per_row*$rows - $i)*2;
                echo "<td colspan=".$colspan.">&nbsp;</td></tr>!!\n";
            }

        }

        // navigational area -------------------------------------------------
        $paginas = ceil(count($names)/$pikkies);

        if (!$page || $page == 1) {
            echo "\n<tr>\n <td colspan=".$cols." align=center><font color=gray><b>&lt;&lt;</b></font> &nbsp;";
        }
        else {
            echo "\n<tr>\n <td colspan=".$cols." align=center><a href=\"".$parent."?page=".($page - 1)."\" title=\"Previous Page\"><b>&lt;&lt;</b></a> &nbsp;";
        }

        for ($g = 0;$g < $paginas;$g++) {
            $count = $g +1;
            if ($page == $count) {
                echo '<a href="'.$parent.'?page='.$count.'"><font color=green><b>'.$count.'</b></font></a>&nbsp;';
            }
            else {
                echo '<a href="'.$parent.'?page='.$count.'">'.$count.'</a>&nbsp;';
            }
        }

        if ($page > ($paginas - 1)) {
            echo " <font color=gray><b>&gt;&gt;</b></font></td>\n</tr>\n";
        }
        else {
            echo " <a href=\"".$parent."?page=".($page + 1)."\" title=\"Next Page\"><b>&gt;&gt;</b></a></td>\n</tr>\n";
        }
        //----------------------------------------------------------------------

    } // end if

    else{
        $id = base64_decode($id);
        if ($show_time == 1) {
            $filetime = "<br>".(date( 'H:i:s d/m/y', filemtime($pdir."/".$id)));
        }
        else {
            $filetime = '';
        }
        echo '<tr><td align=center><a href="'.$parent.'?page='.$page.'" style="text-decoration: none"><b>&lt;&lt; Back</b> <br><img src="'.$pdir.'/'.$id.'" border=1 alt="Back 2 Overview" style="border-color: black"></a>'.$filetime.'</td></tr>';
    } // end else


    function create_tn($plaat) {
    global $pdir, $tdir, $quality, $max_size, $ft, $new_gd;

        $image = $pdir."/".$plaat;
        $size = GetImageSize ($image);
        $ratio = $size[0]/$size[1];
        if ($ratio > 1) {
            $width = $max_size;
            $height = ($max_size/$size[0]) * $size[1];
        }
        else {
            $width = ($max_size/$size[1]) * $size[0];
            $height = $max_size;
        }
        if ($new_gd == 1) {
            $thumb = ImageCreateTrueColor($width, $height);
        }
        else {
            $thumb = ImageCreate($width, $height);
        }
        if ($ft == "jpg") { $source = ImageCreateFromJPEG($image); }
        if ($ft == "gif") { $source = ImageCreateFromGIF($image); }
        if ($ft == "png") { $source = ImageCreateFromPNG($image); }
        if ($new_gd == 1) {
            ImageCopyResampled($thumb, $source, 0, 0, 0, 0, $width, $height, ImageSX($source), ImageSY($source));
        }
        else {
            ImageCopyResized($thumb, $source, 0, 0, 0, 0, $width, $height, ImageSX($source), ImageSY($source));
        }
        if ($ft == "jpg") { ImageJPEG($thumb, "$pdir/$tdir/$plaat", $quality); }
        if ($ft == "gif") { ImageGIF($thumb, "$pdir/$tdir/$plaat", $quality); }
        if ($ft == "png") { ImagePNG($thumb, "$pdir/$tdir/$plaat", $quality); }
        ImageDestroy($thumb);
    }



    $footer = '</table>

    <center><a href="http://www.vddh.com/?page=scripts">Created by W-Nailer '.$version.' </a></center>
    </body>
    </html>';
    echo $footer;
    ?>
    Помогите сделать друзья! Очень буду благодарен!!!!!
     
Статус темы:
Закрыта.