/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
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
>
>



Søg
Reklame
Statistik
Spørgsmål : 177507
Tips : 31968
Nyheder : 719565
Indlæg : 6408569
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste