foto in database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rientsma rientsma

rientsma rientsma

10/03/2007 14:21:00
Quote Anchor link
goede middag,

Weet iemand een tut over hoe ik foto in en uit een databse kan krijgen.



hans
 
PHP hulp

PHP hulp

16/11/2024 20:43:50
 
Nick Mulder

Nick Mulder

10/03/2007 14:25:00
Quote Anchor link
Er staat er toch een op phphulp? Gebruik de zoekfunctie...
 
Frank -

Frank -

10/03/2007 14:26:00
Quote Anchor link
Wanneer jij de foto als een BLOB in de database hebt opgeslagen en wilt weergeven op jouw site, zul je de juiste header() moeten meegeven.

Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
// ophalen en fetchen van de data en dan:
header("Content-type: image/jpg");
echo $row['image'];
?>

Nu krijgt de browser eerst de header, weet dus wat er aan gaat komen, en dan de foto.
 
Terence Hersbach

Terence Hersbach

10/03/2007 14:27:00
Quote Anchor link
als je hem letterlijk IN de database zet, kan je beter stoppen met zoeken. Dat is best fout wat je met een database kan doen namelijk.
 
Frank -

Frank -

10/03/2007 14:47:00
Quote Anchor link
@Terence: Ben ik niet volledig met je eens. Een beetje database (dus géén MySQL!) kan uitstekend foto's opslaan en ze ook nog eens snel ter beschikking stellen. Ik heb echter wel het idee dat dit pas een goed plan is wanneer je vele duizenden tot miljoenen foto's wilt gaan opslaan.

Tot die tijd zou ik gewoon een verwijzing naar de foto in de database opslaan en de foto zelf in een directory zetten.
 
Rientsma rientsma

rientsma rientsma

10/03/2007 15:10:00
Quote Anchor link
het gaat om +/- 4000 foto,s
 
Frank -

Frank -

10/03/2007 15:27:00
Quote Anchor link
rientsma schreef op 10.03.2007 15:10:
het gaat om +/- 4000 foto,s
Die zou ik ín de database zetten en niet in (diverse) directories. Gebruik dan wel een goede database zoals bv. PostgreSQL.

Het maken van een backup is dan ook eenvoudiger, een backup van de database is voldoende. Daar staat tenslotte alles in.
 
Arjan Kapteijn

Arjan Kapteijn

10/03/2007 15:33:00
Quote Anchor link
Nadeel is wel dat je database enorm veel ruimte in gaat nemen, waardoor het snel backuppen van je database wat ingewikkelder word. En bij kleine hostingpakketjes ga je tegen wat beperkingen aanlopen.
 
Frank -

Frank -

10/03/2007 15:53:00
Quote Anchor link
@Arjan: Ruimte in de directory of ruimte in de database maakt niet zo veel verschil. Dit maakt dus voor het hostingpakket dus ook niet uit.

Het backuppen moet je wel even goed naar kijken, dat kan inderdaad een flinke aanslag op de server zijn. De tijdsduur zal voornamelijk liggen aan de omvang van de database (in MB/GB/TB) en de snelheid van de server. In de meest ideale situatie gebruik je database replicatie met een andere server. Mocht de master er uit klappen, dan gaat de slave gewoon verder. Zie hiervoor Slony.

4000 x 2,5 MB (formaat van de foto's die ik schiet in hoogste .jpeg-kwaliteit) = 10000 MB => 10 GB. 10 GB is voor PostgreSQL geen enkel probleem, stelt nog niets voor, 1 tabel kan tot 32 TB groot zijn. De omvang van de database is onbeperkt. Althans, 'onbeperkt' vanuit PostgreSQL gezien, je moet natuurlijk wel voldoende schijfruimte hebben :p
 
Crispijn -

Crispijn -

10/03/2007 15:59:00
Quote Anchor link
Ik wil dit ook gaan doen voor een project waar ik al een poosje mee bezig ben. Dit heb ik toen ook hier gepost. Ik kreeg toen veel reacties dat mysql hier niet voor gebouwd is en dat dit absoluut geen goede oplossing was.

Ik vond pas een artikel met resultaten over images in een database, met de snelheden e.d. Dit was getest met een java based systeem, maar de resultaten waren dermate goed (kwam overeen met een file server) dat ik dit zeker nog overweeg.

@Frank: Is vooral het backuppen een probleem? Wat denk jij hier over?
 
Frank -

Frank -

10/03/2007 16:13:00
Quote Anchor link
@Crispijn: Wanneer jij op een sharedhosting-pakket 10GB wilt gaan backuppen en dat vervolgens ook nog eens veilig wilt stellen op een andere server, dan heb je over het algemeen wel een probleem. Er is dan vrijwel altijd te weinig processorkracht om even snel een backup te maken en te weinig bandbreedte om de backup naar een andere server te sturen. (backup op dezelfde server is zinloos) Het duurt dus veel te lang en al die tijd loop jij een risico.

Wanneer je met databasa-replicatie aan de slag gaat, heb je permanent een actuele backup van het origineel. Per INSERT, UPDATE of DELETE-query wordt er maar een beperkte hoeveel data van de master naar de slave (= backup) gestuurd. Uiteraard stuur je de data wel via SSL naar de andere server, anders zou iedere halfgare idioot jouw data kunnen verkloten.
 
Rientsma rientsma

rientsma rientsma

20/03/2007 16:07:00
Quote Anchor link
ik heb een map aan gemaakt met de naam foto en daarin een foto gezet,met

echo" <textarea rows=10 cols=13 style=overflow:hidden;background-color:lightblue READONLY>" . $data['foto'] . "</textarea></b><br>";roep ik de database aan met daarin een verwijzing naar de fotomap.

als ik het script oproep krijg ik alleen de tekst te zien die in $data['foto'] staat.

Ik weet het echt niet ik al 3 uur zitten google'n maar ik vindt geen oplossing

kan iemand mij helpen aub(er staat ook niks in mijn sql boek over foto's)

hans
 
Mebus  Hackintosh

Mebus Hackintosh

20/03/2007 16:15:00
Quote Anchor link
Frank schreef op 10.03.2007 14:47:
@Terence: Ben ik niet volledig met je eens. Een beetje database (dus géén MySQL!) kan uitstekend foto's opslaan en ze ook nog eens snel ter beschikking stellen. Ik heb echter wel het idee dat dit pas een goed plan is wanneer je vele duizenden tot miljoenen foto's wilt gaan opslaan.

Tot die tijd zou ik gewoon een verwijzing naar de foto in de database opslaan en de foto zelf in een directory zetten.


Gelukkig heb ik net een paar dagen geleden succesvol PostgreSQL kunnen installeren en gebruiken:)

En frank ik zag ook een encoding speciaal voor plaatjes geloof ik mischien dat jij hem nog weet voor rientsma?:-) En voor mij:p Dan probeer ik eens zoiets te maken:D

Edit: laat die encoding maar zitten... Dat is alleen voor talen...

GR. mebus
Gewijzigd op 01/01/1970 01:00:00 door Mebus Hackintosh
 
Frank -

Frank -

20/03/2007 16:23:00
Quote Anchor link
@Rientsma: Hoe denk jij een plaatje in de browser op het scherm te zetten zonder de tag <img > te gebruiken? Dat gaat natuurlijk niet lukken!

En ik mag hopen dat je de naam van de foto met het juiste pad ook in de database hebt opgeslagen, dan kun je dit ook zo weer opvragen.

Volgens mij heeft dit probleem niet zo veel met een database te maken, maar meer met het ontbreken van de juiste tags en data.
 
Rientsma rientsma

rientsma rientsma

20/03/2007 16:35:00
Quote Anchor link
ja dat heb ik gedaan met tag <img src="">en wat dan ook, ik krijg alleen maar tekst op de plaats waar de foto moet komen.Ik vraag mij alleen af hoe de database moet ingesteld zijn bv "blob" of id
 
Frank -

Frank -

20/03/2007 16:43:00
Quote Anchor link
Zie mijn reactie van 10.03.2007 14:26. Wanneer jij de foto in de database zet, zul je de foto als een blob moeten opslaan (zie handleiding). Daarnaast zul je headers moeten gebruiken om de browser te vertellen dat er een plaatje aankomt.

In dit geval heb je dus géén foto in een directory staan, dat is een hele andere oplossing.

Vraagje: Wat bedoel jij met 'alleen maar tekst' ? Wat voor tekst is dit, waar komt vandaan? Wanneer het 1 grote letterbrei is, dan ben je duidelijk de headers vergeten en weet de browser niet dat het een plaatje is. Zie de php-handleiding voor de juiste headers.
 
Rientsma rientsma

rientsma rientsma

20/03/2007 17:17:00
Quote Anchor link
ik krijg inderdaad een brei van tekens,maar als de
header("Content-type: image/jpg");
gebruikt dan gaat het systeem vragen of ik het wil zoeken op het internet of wil opslaan
 
- -

- -

20/03/2007 18:31:00
Quote Anchor link
Je moet het volgende doen:

img.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

//foto selecteren uit db

//header maken

header('Content-type: image/jpeg');

echo $row['foto'];

?>


index.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

echo '<img src="img.php?id=1" alt="Foto" />';

?>
 
Rientsma rientsma

rientsma rientsma

21/03/2007 21:20:00
Quote Anchor link
bedankt voor jullie hulp,
hij werkt

hans
 
Klaasjan Boven

Klaasjan Boven

21/03/2007 21:38:00
Quote Anchor link
BLOB
binair large object. Makkelijker te onthouden
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.