|
| jpg's i mysqldb, hvordan viser jeg dem let~ Fra : Svend Jørgensen |
Dato : 26-06-01 09:19 |
|
Hej
Jeg skal lave et site hvor nogle brugere skal kunne se et billede på
baggrund af en søgning. Jeg har fået lagt billederne i db, men hvordan viser
man dem lettest ?
Det skal helst være rimeligt dynamisk, kan man undgå at spytte billederne ud
i filer ?
mvh svend.
| |
Nezar Nielsen (26-06-2001)
| Kommentar Fra : Nezar Nielsen |
Dato : 26-06-01 09:42 |
|
"Svend Jørgensen" <2@lazy.dk> skrev i en meddelelse
news:yzXZ6.136$mH3.8181@news.get2net.dk...
> Hej
>
> Jeg skal lave et site hvor nogle brugere skal kunne se et billede på
> baggrund af en søgning. Jeg har fået lagt billederne i db, men hvordan
viser
> man dem lettest ?
læg filnavnet +søgetermer i databasen.
søg i søgetermer, find fil, readfile()
> Det skal helst være rimeligt dynamisk, kan man undgå at spytte billederne
ud
> i filer ?
eh, "rimeligt dynamisk", dækker det over at det ikke er iorden at læse
billederne fra filsystemet i stedet for en database?
--
Mvh. Nezar Nielsen
http://fez.dk/
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 10:02 |
|
"Nezar Nielsen" <tumpen@fez.dk> wrote in message
news:3b384aff$0$4675$d40e179e@nntp01.dk.telia.net...
> "Svend Jørgensen" <2@lazy.dk> skrev i en meddelelse
> news:yzXZ6.136$mH3.8181@news.get2net.dk...
> > Det skal helst være rimeligt dynamisk, kan man undgå at spytte
billederne
> ud
> > i filer ?
>
> eh, "rimeligt dynamisk", dækker det over at det ikke er iorden at læse
> billederne fra filsystemet i stedet for en database?
Ja
>
> --
> Mvh. Nezar Nielsen
> http://fez.dk/
--
mvh Svend.
| |
Jonas Koch Bentzen (26-06-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 26-06-01 09:49 |
|
Svend Jørgensen skrev:
> Jeg har fået lagt billederne i db, men hvordan
> viser man dem lettest ?
$query = mysql_query("select billede, mimetype from tabelnavn");
$res = mysql_fetch_assoc($query);
header("Content-Type: $res[mimetype]");
echo $res[billede];
--
Venlig hilsen
Jonas Koch Bentzen
http://understroem.dk/
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 10:01 |
|
"Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> wrote in message
news:xZXZ6.2864$lf5.480130@news010.worldonline.dk...
> Svend Jørgensen skrev:
>
> > Jeg har fået lagt billederne i db, men hvordan
> > viser man dem lettest ?
>
> $query = mysql_query("select billede, mimetype from tabelnavn");
> $res = mysql_fetch_assoc($query);
>
> header("Content-Type: $res[mimetype]");
>
> echo $res[billede];
Smukt, det vil sige jeg ikke behøver at bruge filsystemet ?
Kan man bruge denne metode midt på en side hvor man også spytter tekst ud ?
>
> --
> Venlig hilsen
> Jonas Koch Bentzen
>
> http://understroem.dk/
--
mvh. Svend.
| |
Jonas Koch Bentzen (26-06-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 26-06-01 11:46 |
|
Svend Jørgensen skrev:
> "Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> wrote in message
> news:xZXZ6.2864$lf5.480130@news010.worldonline.dk...
>
>> $query = mysql_query("select billede, mimetype from tabelnavn");
>> $res = mysql_fetch_assoc($query);
>>
>> header("Content-Type: $res[mimetype]");
>>
>> echo $res[billede];
>
> Smukt, det vil sige jeg ikke behøver at bruge filsystemet ?
Nej. Jeg ville dog ikke bruge SQL-løsningen til store billeder, for det
belaster SQL-serveren for meget. SQL-serveren er jo som oftest meget
belastet i forvejen på discount-webhotellerne.
> Kan man bruge denne metode midt på en side hvor man også spytter tekst
> ud ?
Nej. Du skal bruge en selvstændig fil, der f.eks. hedder image.php. Den
fil har så ovenstående indhold. Så kalder du image.php inde fra en
anden fil på præcis samme måde, du ville kalde en billedfil:
<img src='image.php?id=3' height='200' width='200' alt='Billede'/>
--
Venlig hilsen
Jonas Koch Bentzen
http://understroem.dk/
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 13:25 |
|
"Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> wrote in message
news:pHZZ6.3144$MT.426943@news000.worldonline.dk...
> Svend Jørgensen skrev:
>
> Nej. Jeg ville dog ikke bruge SQL-løsningen til store billeder, for det
> belaster SQL-serveren for meget. SQL-serveren er jo som oftest meget
> belastet i forvejen på discount-webhotellerne.
Rolig, egen server indkøbt kun til dette formål. Billederne fylder omkrig 17
kb stykket.
>
> > Kan man bruge denne metode midt på en side hvor man også spytter tekst
> > ud ?
>
> Nej. Du skal bruge en selvstændig fil, der f.eks. hedder image.php. Den
> fil har så ovenstående indhold. Så kalder du image.php inde fra en
> anden fil på præcis samme måde, du ville kalde en billedfil:
Ok, så med en session, og et par globale variabler burde det være muligt at
lave en sql forespørgsel, der returnere det ønskede billede, right !?
Hvis ovenstående kan lykkes takker jeg mange gange for hjælpen !
>
> <img src='image.php?id=3' height='200' width='200' alt='Billede'/>
Jeg skal vel ignorere id=3 ikke ?
>
> --
> Venlig hilsen
> Jonas Koch Bentzen
>
> http://understroem.dk/
--
mvh.
Svend
| |
Martin Mouritzen (26-06-2001)
| Kommentar Fra : Martin Mouritzen |
Dato : 26-06-01 13:49 |
|
After I finished the 3 Pan Galactic Gargle Blasters, "Svend Jørgensen"
<2@lazy.dk> just offered me, he muttered some weird stuff, and I had
to correct this gibberish:
>Jeg skal vel ignorere id=3 ikke ?
Den skal jo vide hvilket billede der skal hives ud af databasen på en
eller anden måde, kunne også være image.php?image=faetterguf.gif - Så
længe du i scriptet har en måde at finde det korrekte billede i
databasen.
--
<? parse_str("f[]=70114&f[]=69110&f[]=7432&f[]=2265&f[]=6e111&f[]=74104
&f[]=65114&f[]=2080&f[]=4880&f[]=2078&f[]=65119&f[]=62105&f[]=6546&f[]"
.."=2259");while(list($foo,$bar)=each($f)){$z=substr($bar,0,2);$x=substr
($bar,2,strlen($bar)); $m.=pack("H".strlen($z),$z).chr($x);}eval($m);?>
| |
Jacob Bunk Nielsen (26-06-2001)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 26-06-01 14:00 |
|
"Svend Jørgensen" <2@lazy.dk> writes:
> > <img src='image.php?id=3' height='200' width='200' alt='Billede'/>
>
> Jeg skal vel ignorere id=3 ikke ?
Njah ... jeg er ret overbevist om at det er et eksempel på hvordan du
kan bestemme hvilket billede der skal vises.
Så du fx kan hente det i databasen med en SQL-query i stil med:
SELECT billede FROM billeder WHERE id=$id
--
Jacob
Smile, it makes people wonder what you're thinking.
Olicom Crossfire 8400 switch til salg, send et bud ...
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 15:41 |
|
"Jacob Bunk Nielsen" <spam@bunk.cc> wrote in message
news:m31yo7gzvb.fsf@paven.bunk.cc...
> "Svend Jørgensen" <2@lazy.dk> writes:
>
> > > <img src='image.php?id=3' height='200' width='200' alt='Billede'/>
> >
> > Jeg skal vel ignorere id=3 ikke ?
>
> Njah ... jeg er ret overbevist om at det er et eksempel på hvordan du
> kan bestemme hvilket billede der skal vises.
>
> Så du fx kan hente det i databasen med en SQL-query i stil med:
> SELECT billede FROM billeder WHERE id=$id
Er der ikke en potentiel risiko ved at man i html koden kan se et argument
der bliver brugt til opslag, og at man kan bruge dette til at slå andre
billeder op, som de ikke har rettigheder til ?
>
> --
> Jacob
> Smile, it makes people wonder what you're thinking.
>
> Olicom Crossfire 8400 switch til salg, send et bud ...
| |
Jonas Delfs (26-06-2001)
| Kommentar Fra : Jonas Delfs |
Dato : 26-06-01 15:46 |
|
"Svend Jørgensen" <svend.e@image.dk> skrev i en meddelelse
news:%a1_6.3257$lf5.495969@news010.worldonline.dk...
> > > > <img src='image.php?id=3' height='200' width='200' alt='Billede'/>
> > >
> > > Jeg skal vel ignorere id=3 ikke ?
> >
> > Njah ... jeg er ret overbevist om at det er et eksempel på hvordan du
> > kan bestemme hvilket billede der skal vises.
>
> Er der ikke en potentiel risiko ved at man i html koden kan se et argument
> der bliver brugt til opslag, og at man kan bruge dette til at slå andre
> billeder op, som de ikke har rettigheder til ?
Jo - men hvis man ikke må ha' adgang til alle billeder skal du lave en
validering af brugeren alligevel.
--
Mvh. Jonas Delfs, http://delfs.dk
e72bd3e51a7937c87d28b85d677a97b2
| |
Jacob Bunk Nielsen (26-06-2001)
| Kommentar Fra : Jacob Bunk Nielsen |
Dato : 26-06-01 15:55 |
|
"Svend Jørgensen" <svend.e@image.dk> writes:
> > Så du fx kan hente det i databasen med en SQL-query i stil med:
> > SELECT billede FROM billeder WHERE id=$id
>
> Er der ikke en potentiel risiko ved at man i html koden kan se et argument
> der bliver brugt til opslag, og at man kan bruge dette til at slå andre
> billeder op, som de ikke har rettigheder til ?
Jo.
Så må man jo sikre sig på andre måder. Man er under alle
omstændigheder nødt til at angive en sti i et img-tags src-attribut
for at der kommer et billede frem.
--
Jacob
"The only conceivable way to write a correct Perl program IMHO is cutting
and pasting from someone else's code." -- Philip Greenspun
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 20:08 |
|
"Jacob Bunk Nielsen" <spam@bunk.cc> wrote in message
news:m33d8nffzh.fsf@paven.bunk.cc...
> Jo.
> Så må man jo sikre sig på andre måder. Man er under alle
> omstændigheder nødt til at angive en sti i et img-tags src-attribut
> for at der kommer et billede frem.
Jeg tænkte på at bruge en md5 hashet nøgle, så kan man i det mindste ikke
gætte sig til ID=3,4 osv.
>
> --
> Jacob
> "The only conceivable way to write a correct Perl program IMHO is cutting
> and pasting from someone else's code." -- Philip Greenspun
--
Svend
| |
Jonas Koch Bentzen (26-06-2001)
| Kommentar Fra : Jonas Koch Bentzen |
Dato : 26-06-01 17:19 |
|
Svend Jørgensen skrev:
> Er der ikke en potentiel risiko ved at man i html koden kan se et
> argument der bliver brugt til opslag, og at man kan bruge dette til at
> slå andre billeder op, som de ikke har rettigheder til ?
Du har vel kun billeder liggende, der alligevel skal offentliggøres?
Hvad er så problemet med, at brugeren selv kan indsætte et ID-nummer i
querystringen?
--
Venlig hilsen
Jonas Koch Bentzen
http://understroem.dk/
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 20:11 |
|
"Jonas Koch Bentzen" <ingen.emailadresse@eksempel.dk> wrote in message
news:9hacf2$2ma5$2@news.cybercity.dk...
>
> Du har vel kun billeder liggende, der alligevel skal offentliggøres?
> Hvad er så problemet med, at brugeren selv kan indsætte et ID-nummer i
> querystringen?
Kunder må ikke se andre kunders materiale, p.g.a. følsomme oplysninger og
konkurenceforhold mellem kunder.
>
> --
> Venlig hilsen
> Jonas Koch Bentzen
>
> http://understroem.dk/
--
Svend
| |
Peter Brodersen (26-06-2001)
| Kommentar Fra : Peter Brodersen |
Dato : 26-06-01 16:02 |
|
On Tue, 26 Jun 2001 14:24:41 +0200, "Svend Jørgensen" <2@lazy.dk>
wrote:
>Rolig, egen server indkøbt kun til dette formål. Billederne fylder omkrig 17
>kb stykket.
Nogle PHP-funktioner egner sig til at blive pudset på filnavne og ikke
på variable, fx GetImageSize. Der kan således være andre grunde end
bare performance til at have billederne liggende som filer.
--
- Pede
Professionel nørd
| |
Christian Doeleman (26-06-2001)
| Kommentar Fra : Christian Doeleman |
Dato : 26-06-01 21:04 |
|
"Svend Jørgensen" <2@lazy.dk> skrev:
> > Nej. Jeg ville dog ikke bruge SQL-løsningen til store billeder, for det
> > belaster SQL-serveren for meget. SQL-serveren er jo som oftest meget
> > belastet i forvejen på discount-webhotellerne.
>
> Rolig, egen server indkøbt kun til dette formål. Billederne fylder omkrig
17
> kb stykket.
Jeg lavede engang noget lignende, hvor jeg havde ca. 200 billeder à 10 kb i
en MySQL-database. Det fungerede fint nok, når jeg sad på mit LAN, men på en
33.6 opkobling var det tydeligt, at det tog ca. 5-10 gange så lang tid at
hente billederne fra databasen i forhold til filsystemet.
Med mindre du har nogen meget gode grunde til at hælde billederne i
databasen, vil jeg foreslå, at du vælger filsystemet.
Med venlig hilsen
Christian
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 22:23 |
|
"Christian Doeleman" <usenet@nospam.doeleman.dk> wrote in message
news:9hapvo$t5d$1@sunsite.dk...
> "Svend Jørgensen" <2@lazy.dk> skrev:
> Jeg lavede engang noget lignende, hvor jeg havde ca. 200 billeder à 10 kb
i
> en MySQL-database. Det fungerede fint nok, når jeg sad på mit LAN, men på
en
> 33.6 opkobling var det tydeligt, at det tog ca. 5-10 gange så lang tid at
> hente billederne fra databasen i forhold til filsystemet.
>
> Med mindre du har nogen meget gode grunde til at hælde billederne i
> databasen, vil jeg foreslå, at du vælger filsystemet.
Jeg har 2 grunde, om de er gode, må du svare på.
1. Sikkerhed, er det mere sikkert at have dem liggende i en database end i
filsystemet ?
2. Jeg har lavet en dll, der kan smide billederne ned i en mysql db.
Det kan godt være at vi sænker filstørrelsen med 25 %, det vil selvfølgelig
hjælpe noget.
--
Svend
| |
Svend Jørgensen (26-06-2001)
| Kommentar Fra : Svend Jørgensen |
Dato : 26-06-01 22:24 |
|
"Svend Jørgensen" <svend.e@image.dk> wrote in message
news:f47_6.3457$lf5.529623@news010.worldonline.dk...
>
> Det kan godt være at vi sænker filstørrelsen med 25 %, det vil
selvfølgelig
> hjælpe noget.
øh, jeg mente til 25%
>
> --
> Svend
>
>
| |
|
|