kjetil_b Skrevet 30. mai 2006 Del Skrevet 30. mai 2006 Jeg fikler fortsatt med CMSet mitt, som tidliger er nevnt i denne tråden. Ting ser bare bedre og bedre ut, og jeg føler for å legge til flere funksjoner. Perl er et fryktelig artig språk å skrive, pluss at det er lett å lære, så timene flyr. Nå trenger jeg å lage et lite bildegalleri til bruk i systemet, og før jeg starter på det, så vil jeg høre vil om hvilket oppsett jeg skal bruke. Opplasting av filer tror jeg da skal gå greit, og jeg fant en tråd bak i arkivet her om forminskning av bilder med Image::Magick, så det området går greit. Men burde jeg gjøre det slik at hvert bilde lagres i en database, samt på serveren? Så hvis jeg opplaster et bilde, eks. hund.jpg, så lagres det i en mappe på serveren, pluss at jeg lagrer navnet hund og filformatet .jpg i databasen? Blir det lettere å holde oversikt slik? Det jeg ønsker å lage er et helt simpel galleri, med f.eks. 3x3 forminskninger på en side, og link til større versjon. Ingen kommentar funksjon for øyeblikket. Dette ble kanskje et tåpelig spørsmål, men håper at noen kan svare. Får bare prøve meg frem, men hvis noen har erfaringer med dette, så er det kjekt å få litt tips før jeg starter. - Kjetil Lenke til kommentar
Manfred Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 Når jeg sitter med sånne ting legger jeg ofte til endel ting "for future use". For å svare på en ting av gangen: Ja, jeg synes bl.a. filnavn bør lagres i database i tillegg til at fila lastes opp i en logisk katalog. Her får du velge om du vil ha en sub-folder-struktur, eller bare kjøre en fast upload-mappe. Andre ting som kan være smart å ta vare på er: Filnavn mime type filstørrelse bildedimensjon dato/tid lastet opp lastet opp av? kommentar? kategori? offentlighetsgrad? (om det kun skal vises til deg, kun til innloggede, til alle, osv..) aktivt? (En bit du setter til 0 når bildet slettes. Slik vil du alltid ha en historikk) ...bare som en liten tanke i natten... Lenke til kommentar
kjetil_b Skrevet 31. mai 2006 Forfatter Del Skrevet 31. mai 2006 Når jeg sitter med sånne ting legger jeg ofte til endel ting "for future use". For å svare på en ting av gangen: Ja, jeg synes bl.a. filnavn bør lagres i database i tillegg til at fila lastes opp i en logisk katalog. Her får du velge om du vil ha en sub-folder-struktur, eller bare kjøre en fast upload-mappe. Andre ting som kan være smart å ta vare på er: Filnavn mime type filstørrelse bildedimensjon dato/tid lastet opp lastet opp av? kommentar? kategori? offentlighetsgrad? (om det kun skal vises til deg, kun til innloggede, til alle, osv..) aktivt? (En bit du setter til 0 når bildet slettes. Slik vil du alltid ha en historikk) ...bare som en liten tanke i natten... 6212918[/snapback] Takk for svar Manfred! Dette var nyttig. Lurer litt på hvordan jeg kan finne bildedimensjonen og filstørrelse da. Du kan vel ikke demonstrere, eller gi meg en link til dokumentasjon på noe slikt? Lenke til kommentar
Torbjørn Skrevet 31. mai 2006 Del Skrevet 31. mai 2006 se på Image::Magick, google bør ta deg rett imål Lenke til kommentar
kjetil_b Skrevet 2. juni 2006 Forfatter Del Skrevet 2. juni 2006 Sliter med at bildefilene mine blir 0kb når jeg laster dem opp. $bilde =~ s/.*[\/\\](.*)/$1/; $bilde_fil = $q->upload("bilde"); open LASTOPP, ">$dir/$bilde"; binmode LASTOPP; while ( <$bilde_fil> ) { print LASTOPP; } close LASTOPP; Skjønner ikke helt hva som er grunnen til det heller. Har søkt litt rundt, men finner ikke svar, bare like spørsmål.. Har lest en del om Image::Magick, og det skal gå greit, så fort jeg får ordnings på dette. Lenke til kommentar
Torbjørn Skrevet 2. juni 2006 Del Skrevet 2. juni 2006 1) Se på File::Basename og metoden basename() evt. dirname() alltid legg inn feilsjekker: $bilde_fil = $q->upload("bilde"); open LASTOPP, ">$dir/$bilde" or die "open failed: $!\n"; binmode LASTOPP; while ( <$bilde_fil> ) { print LASTOPP; } close LASTOPP; Lenke til kommentar
kjetil_b Skrevet 2. juni 2006 Forfatter Del Skrevet 2. juni 2006 Takk for tipset. Glemte feilsjekken i farta Prøvde med basename, men fikk samme resultatet. use File::Basename; my $bilde_filehandle = $q->upload("bilde"); my $filnavn = basename($bilde); open FILE, ">$dir/$filnavn" or feilmelding("Kan ikke åpne $dir/$filnavn. Grunn: $!\n"); while (<$filnavn>){print FILE;} close FILE; Lenke til kommentar
Torbjørn Skrevet 2. juni 2006 Del Skrevet 2. juni 2006 og ingenting i errorlogen til webserver? Lenke til kommentar
Torbjørn Skrevet 2. juni 2006 Del Skrevet 2. juni 2006 og ingenting i errorlogen til webserver? Lenke til kommentar
kjetil_b Skrevet 2. juni 2006 Forfatter Del Skrevet 2. juni 2006 og ingenting i errorlogen til webserver? 6230137[/snapback] Nope. Ingenting der. Lenke til kommentar
kjetil_b Skrevet 2. juni 2006 Forfatter Del Skrevet 2. juni 2006 Er på linux. Kan jeg ha en gammel versjon av CGI.pm eller noe sånt? Lenke til kommentar
Torbjørn Skrevet 2. juni 2006 Del Skrevet 2. juni 2006 (endret) nei, trukke det. bruker du use strict? da jeg ikke liker å gi ved dørene, kan jeg opplyse at hvis du bruker strict, og kjører cgi-skriptet fra kommandolinja, vil du finne feilen, ie perl /var/www/cgi-bin/filadi.cgi Endret 2. juni 2006 av Torbjørn Lenke til kommentar
kjetil_b Skrevet 2. juni 2006 Forfatter Del Skrevet 2. juni 2006 nei, trukke det. bruker du use strict? da jeg ikke liker å gi ved dørene, kan jeg opplyse at hvis du bruker strict, og kjører cgi-skriptet fra kommandolinja, vil du finne feilen, ie perl /var/www/cgi-bin/filadi.cgi 6230345[/snapback] Æsj, use strict! Heiv på en, og kjørte det. Funke fint etter at jeg la til noen 'my'. Kjørte ikke fra kommandolinja nei, siden jeg ikke kan dette særlig godt. Det funka fortsatt ikke etterpå. Lenke til kommentar
Torbjørn Skrevet 2. juni 2006 Del Skrevet 2. juni 2006 _ALLTID_ use strict! det jeg reagert på var dette: my $bilde_filehandle = $q->upload("bilde"); my $filnavn = basename($bilde); hvor kommer variabelen $bilde fra? Lenke til kommentar
kjetil_b Skrevet 2. juni 2006 Forfatter Del Skrevet 2. juni 2006 _ALLTID_ use strict! det jeg reagert på var dette: my $bilde_filehandle = $q->upload("bilde"); my $filnavn = basename($bilde); hvor kommer variabelen $bilde fra? 6230676[/snapback] Den kommer herifra: my $bilde = $q->param('bilde'); Posta ikke med alt. Alltid strict? Huff, jaja. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå