Avatar billede mr-mycom Nybegynder
03. september 2005 - 12:52 Der er 9 kommentarer og
1 løsning

Billedgalleri via FTP

Ja, jeg kunne godt tænke mig at lave et billedgalleri, hvor man bare kunne logge på sin ftp, og oploade dem billeder man nu ville til en mappe på ftpen, og så loadede man dem med en kode på den side det nu skulle være, helst med thumbnails, så man så kan klikke på dem og lave dem støre. Nogle der kender sådan et script, eller har et liggende..?
Avatar billede jakobdo Ekspert
03. september 2005 - 12:58 #1
Jeg tror du kan bruge denne kode:
Du smider index.php i selve mappen, så laver den thumbs af alle filer, som ikke allerede har fået lavet det.
Hvis scriptet timer ud, så reload indtil alle filer er renamed!
Har ikke lige gidet at sætte set_time_limit() i scriptet! :o)

<?php

echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Strict //EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n";
echo "<html>\n";
echo "<head>\n";
echo "<title>Title</title>\n";
echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"style.css\">\n";
echo "</head>\n";
echo "<body>\n";
echo "<div id=\"content\">\n";
echo "<h1>Title</h1>\n";

function resize( $filename, $newfilename, $maxw, $maxh )
{
    $result = false;
    $srcim = imagecreatefromjpeg( $filename );
    $ow = imagesx( $srcim );
    $oh = imagesy( $srcim );
    $wscale = $maxw / $ow;
    $hscale = $maxh / $oh;
    $scale = ( $hscale < $wscale ? $hscale : $wscale );
    $nw = round( $ow * $scale, 0 );
    $nh = round( $oh * $scale, 0 );
    $dstim = imagecreatetruecolor( $nw, $nh );
    imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
    $result = imagejpeg( $dstim, $newfilename, 85 );
    imagedestroy( $dstim );
    imagedestroy( $srcim );
    return $result;
}

$dir = getcwd();

$allowExt = array("jpg");

// Open a known directory, and proceed to read its contents
if (is_dir($dir))
{
    if ($dh = opendir($dir))
    {
        $fileArray = array();
        while(($file = readdir($dh)) !== false)
        {
            $arr = explode (".", $file);
            $extension = end($arr);
            if(in_array($extension,$allowExt))
            {
                if(file_exists("thumb_" . $file) || preg_match('/^thumb_/', $file))
                {
                    ;
                }
                else
                {
                    resize($file, getcwd() . "/thumb_" . $file, 300, 300);
                }
               
                if(!preg_match('/^thumb_/', $file))
                {
                    $thumb = "thumb_" . $file;
                    $fileArray[$thumb] = $file;
                }
            }
        }
        closedir($dh);
    }
}

if(count($fileArray)>0)
{
    echo "<table id=\"centerTable\">\n";
    foreach($fileArray as $thumb => $file)
    {
        echo "<tr><td><a target=\"_blank\" href=\"" . $file . "\"><img src=\"".$thumb."\"></a></td></tr>\n";
    }
    echo "</table>\n";
}
else
{
    echo "Vi har ikke uploadet nogle billeder endnu, de kommer...";
}

echo "</div>\n";
echo "</body>\n";
echo "</html>\n";

?>
Avatar billede mr-mycom Nybegynder
03. september 2005 - 13:05 #2
Så jeg skal lave en mappe derfeks hedder billeder, også smide den der kode ind i et php doc og gemme den som index.php og så?
Avatar billede mr-mycom Nybegynder
03. september 2005 - 13:06 #3
HVordan loader jeg dem på min side ?
Avatar billede mr-mycom Nybegynder
03. september 2005 - 13:25 #4
Altså, skal jeg ikke bruge en kode til at loade selve "galleriet" på min side hvor det skal vises..
Avatar billede mr-mycom Nybegynder
03. september 2005 - 13:52 #5
Det virker kanont mester :) Takker mange gange :) Et svar?
Avatar billede mr-mycom Nybegynder
03. september 2005 - 13:59 #6
Lige et problem. Jeg har lagt index.php i mappen med de billeder der skal vises, men når jeg gerne vil loade den fil og vise mine billeder på den side de skal vises på skriver jeg <?php include "billeder/index.php";?>, men så kommer der ikke nogle billede, men bare "Title, der er ikke oploadet nogle billeder endnu"?
Avatar billede mr-mycom Nybegynder
03. september 2005 - 14:11 #7
Får en anden til at hjælpe med include lig et svar når du kommer tilbage :)
Avatar billede jakobdo Ekspert
03. september 2005 - 15:48 #8
Svar!
Avatar billede mr-mycom Nybegynder
03. september 2005 - 15:53 #9
Hmmm jakobdo, det kunne være du lige kunne hjælpe mig med mit sidste problem også??? det handler om spg: http://www.eksperten.dk/spm/645151
Avatar billede jakobdo Ekspert
03. september 2005 - 22:26 #10
Takker for point!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester