[php]vraag: Hoe kan je gegevens van een externe db opvragen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dante Chaos
  • Registratie: Augustus 2007
  • Laatst online: 23-05 10:40

Dante Chaos

The dude abides

Topicstarter
Hoi,

Het is meschien heel simpel maar ik kom er niet uit!

Situatie:

Er zijn 2 servers:
- webserver: draait de site op en klant ziet die.
- db server: deze staat extern dus niet bij de webserver maar bij de winkel zelf.

op de db server staat een bestand foto.php deze verwerkt $_GET['fotoid']; requests. (standalone dus)
Nu via op de webserver een foto gehaald worden van deze externe db die door een firewall gaat. Maar als de klant de fotolink in de werkbalk zet moet het adres verschijnen van de webserver bijv: http://www.bedrijf.nl/photo.php?fotoid=12

De klant stuurt dus een request van ik wil foto 10 zien naar de webserver. deze stuurt het door naar de externe server en ontvangt dan de foto terug die bij het id hoort.
Nu weet ik niet hoe ik dat doe.

Hoop dat ik het goed heb uitgelegd.

Gr,

Dante

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21-09 21:47

Creepy

Tactical Espionage Splatterer

En wat heb je zelf al geprobeerd of bedacht? We gaan er hier vanuit dat je in eerste instantie zelf wat probeert en ook aangeeft wat je hebt geprobeerd. Dit laat je nu in z'n geheel achterwege.

Maar die photo.php op je website kan toch prima een redirect genereren naar naar de photo.php die op de db server staat?

offtopic:
Ow, en groeten onder je post hoeft hier niet. Je naam staat al naast je post en zeg nu zelf, zou je er ook niet gek van worden als iedereen onder elke post met een groet zou afsluiten, elke keer opnieuw? ;)

[ Voor 26% gewijzigd door Creepy op 06-02-2008 15:15 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 00:32

TeeDee

CQB 241

Wederom heb ik moeite met je schrijfstijl. Lees het gewoon eens door voordat je het in allerijl online slingert

Waarom verplaats je photo.php niet naar de webserver en laat deze de data via een stream ophalen uit de db-server.

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Dante Chaos
  • Registratie: Augustus 2007
  • Laatst online: 23-05 10:40

Dante Chaos

The dude abides

Topicstarter
Ze willen dat alleen de webserver contact maakt met de db en niet de klant.

Had zelf al redirect geprobeerd maar dat werkte ook niet echt.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Simpel gezegd, het url-adres is het adres waar het plaatje vandaan komt, komt deze van de db-server dan staat hier dus de db-server.

Is dit ongewenst, dan moet je ervoor zorgen dat de webserver het verzoek binnenkrijgt, deze doet dan een los verzoek naar de db-server, db-server stuurt plaatje naar web-server, web-server stuurt plaatje door naar klant. Levert je wel per plaatje 3x zoveel verkeer op, en het plaatje gaat trager ( ipv dat webserver het lokaal heeft heeft moet deze het eerst ophalen bij db-server ).

Zit db-server op een intern netwerk met web-server dan is dit gewoon goed te doen, loopt het via internet dan zou ik het persoonlijk afraden.

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 00:32

TeeDee

CQB 241

definieer "dat werkte niet echt"

Verplaats photo.php naar de webserver waarbij je middels de diverse mogelijkheden (php ken ik helemaal niet maar kan dit niet met CURL, PEAR of desnoods fopen??) intern de datastream van de db-server haalt.

pseudo:
photo.php?fotoid=12
code:
1
2
afbeelding myImage = maak verbinding met db-server/photostream.php?id=12
schrijf myImage op het scherm

Heart..pumps blood.Has nothing to do with emotion! Bored


Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Zie Gomez, stel de webserver als doorgeefluik voor. Een logische feature zodra je de basics aan de praat hebt is het inbouwen van een caching mechanisme, zodat je voor herhaaldelijk opgevraagde documenten niet herhaaldelijk de andere server hoeft lastig te vallen.

TeeDee, foto.php laten staan (of iig een andere interface) is op zich geen slecht idee, dan hoeven er geen queries van buitenaf toegestaan te worden en staat teven de mogelijke in- en output vast. :)

Maar goed, het script voor de webserver hoeft niet zo ingewikkeld, met beperkte PHP kennis en het lezen van functies als fopen() in de PHP manual moet je al een heel eind komen, dus TS mag dat eerst proberen.

{signature}


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Kan je de webserver van de klant niet toevoegen, zodat je binnen het php script (bij de klant) direct verbinding maakt met de sql server. Je *hoeft* in php niet per se een localhost mysql db aan te spreken :)

Acties:
  • 0 Henk 'm!

  • Dante Chaos
  • Registratie: Augustus 2007
  • Laatst online: 23-05 10:40

Dante Chaos

The dude abides

Topicstarter
Het zijn bestanden van 3 MB die ze daar hebben. als je die wilt uploaden met 50 KB upload gaat dat erg lang duren.

Maar ik zat inderdaad aan Fopen te denken en dan passtru te gebruiken. Ik ga dat even uitproberen.

Acties:
  • 0 Henk 'm!

Verwijderd

fopen zal ook dat bestand gewoon gaan openen toch :?

Is een rewriterule in een htaccess geen optie? Ziet de gebruiker niets van en volgensmij is het niet te traceren waar de image vandaan komt aangezien Apache de rewrite doet zonder dat de gebruiker het doorheeft. Weet dat laatste niet 100% zeker, weet ook niet of dit zo dichtgetimmerd moet zijn?

Acties:
  • 0 Henk 'm!

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 00:32

TeeDee

CQB 241

Voutloos schreef op woensdag 06 februari 2008 @ 15:31:
Zie Gomez, stel de webserver als doorgeefluik voor. Een logische feature zodra je de basics aan de praat hebt is het inbouwen van een caching mechanisme, zodat je voor herhaaldelijk opgevraagde documenten niet herhaaldelijk de andere server hoeft lastig te vallen.

TeeDee, foto.php laten staan (of iig een andere interface) is op zich geen slecht idee, dan hoeven er geen queries van buitenaf toegestaan te worden en staat teven de mogelijke in- en output vast. :)
Zoiets bedoel ik dus ook. De webserver haalt intern/transparant de afbeelding op vanaf de db-server.
Desnoods maak je een webservice, kan je het nog evt. aanbieden ook (mocht de lijncapaciteit voldoende zijn).
Dante Chaos schreef op woensdag 06 februari 2008 @ 15:37:
Het zijn bestanden van 3 MB die ze daar hebben. als je die wilt uploaden met 50 KB upload gaat dat erg lang duren.
Zoals Voutloos zegt: bestaat de afbeelding al lokaal (op de webserver dus) toon 'm lokaal vandaan. Zoniet, haal 'm op uit de db-server. Ik kan me trouwens herinneren in je vorige topic dat er melding van gemaakt werd dat het over het algemeen niet handig is om BLOB data in een db-server op te slaan. Maar volgens mij kom je daar nu ook achter.

Heart..pumps blood.Has nothing to do with emotion! Bored

Pagina: 1