Avatar billede macho Praktikant
17. januar 2005 - 22:31 Der er 11 kommentarer og
1 løsning

Hvordan tilføjer jeg en download-knap til liste over billeder?

Jeg bruger et php-script til visning af billeder fra mange forskellige albums (a-z). Albummet har mulighed for at blive vist enten som Thumbnails eller som Listview. Med Listview har jeg samtlige billeder stående som filnavne med link, så et billede åbnes i et nyt vindue og kan gemmes, når det er færdigvist! Scriptet til Listview ser sådan ud:

function getlist($dir, $mode){
        if ($handle = opendir('albums/'.$dir)){
            $data = '';
            $count = 0;
            while (false !== ($file = readdir($handle))) {
                if(eregi("\.jpe?g$", $file) || eregi("\.gif$", $file) || eregi("\.bmp$", $file) || eregi("\.png$", $file)) {
                    $fsize = filesize('albums/'.$dir.'/'.$file);
                    if ($fsize<1024) {
                        $pres = sprintf('%u Bytes',$fsize);
                    } elseif ($fsize<1024*1024) {
                        $pres = sprintf('%u KB',$fsize/1024);
                    } else {
                        $pres = sprintf('%01.2f MB',$fsize/(1024*1024));
                    }
                    $count = $count+1;
                    $data .= '&nbsp;<a href="fileview.php?album='.$dir.'&file='.$file.'&view='.$mode.'" target="_blank"><img src="data/images/skin/icons/image.gif" />&nbsp;';
                    $data .= $file;
                    $data .= '</a> <span style="color:#ff0000;">- '.$pres.'</span><br />';
                }
            }
            closedir($handle);
        }
        return $data;
}

Altså på linjen er der først et billed-ikon (fælles for alle links), derefter filnavnet på billedet (med link), derefter defineres størrelsen på billedet. Klikker jeg på linket nu, så åbner der sig et nyt vindue (fileview.php) som så viser billedet!

Nu til mit spørgsmål:
Hvordan tilføjer jeg - i ovenfor nævnte script - en tekst eller knap, som gør, at jeg kan få en dialogboks frem, med mulighed for at gemme billedet direkte - altså udenom filen filewiew.php

??
Avatar billede morteeart Nybegynder
18. januar 2005 - 01:14 #1
Har du prøvet bare at fjerne fileview.php fra linket ?-)

$data .= '&nbsp;<a href="'.$dir.'&file='.$file.'&view='.$mode" target="_blank"><img src="data/images/skin/icons/image.gif" />&nbsp;';
Avatar billede macho Praktikant
18. januar 2005 - 01:20 #2
Ja, det har jeg prøvet - det virker ikke! Egentlig er det jo heller ikke det, at billedet åbner via fileview.php, men det er et ekstra link jeg vil ha' tilføjet, således, at billedet slet ikke skal åbne, men jeg skal ha' en dialogboks op, som spørger om jeg vil gemme billedet!
Avatar billede macho Praktikant
18. januar 2005 - 01:21 #3
Det eneste som indeholdes i fileview.php er disse linjer:

  <?php
    echo '<img src="albums/'.$_GET['album'].'/'.$_GET['file'].'" alt="'.$_GET['file'].'" />';
  ?>
Avatar billede morteeart Nybegynder
18. januar 2005 - 01:24 #4
eh, du kan ikke få sådan en dialogbox, da billeder automatisk åbner i en browser :P
Avatar billede macho Praktikant
18. januar 2005 - 01:41 #5
hmmm, syntes bare jeg havde set det før. Men okay, tak for svaret!
Avatar billede macho Praktikant
18. januar 2005 - 01:48 #6
Ifølge denne side: http://www.webmasterworld.com/forum36/1409.htm så burde det jo kunne lade sig gøre, at tvinge en dialogboks frem, jeg kan desværre bare ikke lige finde ud af, hvordan jeg skal takle det!
Avatar billede morteeart Nybegynder
18. januar 2005 - 02:11 #7
oh, content-type :D

Så skal du ud i noget lidt mere advanceret kode end du har der.
Kan da lige se om jeg kan finde/lave et eksempel..
Avatar billede morteeart Nybegynder
18. januar 2005 - 02:19 #8
<?php

header("Content-type: image/png");

header('Content-Disposition: attachment; filename="text.png" ');

readfile("text.png");

?>
Avatar billede morteeart Nybegynder
19. januar 2005 - 09:13 #9
kommet videre ?
Avatar billede macho Praktikant
19. januar 2005 - 10:10 #10
Nej, for jeg ved ikke hvordan jeg skal gribe dit forslag an, for at få det bygget ind i min kode!
Avatar billede morteeart Nybegynder
19. januar 2005 - 12:27 #11
eh ? så er det på tide at begynde at læse og lære www.php.net/header
Dette her er ikke lige til at forklare, og du skal ikke forvente en færdig løsning fra mit vedkommne.
Avatar billede macho Praktikant
21. december 2005 - 02:38 #12
Spørgsmålet er uaktuelt, så jeg lukker!
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