data caching via http request

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Ik wil voor een klant (domein1) het volgende doen:

- klant kan artikel niet bestellen bij domein1, omdat deze niet op voorraad is of niet leverbaar
- klant wordt doorgestuurd naar een andere database (van een leverancier), maar wel binnen de website van domein1, dus de klant ziet hier niets van...
- klant bestelt zonder het te zien direct bij de leverancier, artikel wordt opgestuurd

Hiervoor is nodig:
- voorraad van leverancier (domein2) ophalen via een internet-gateway (via http-request)
- deze gegevens in een database op domein1 opslaan

Ik heb van het ontwikkel-team van domein2 het volgende gekregen:
- voorraadbestand ophalen: http://customers.domein2....girpc32.dll/ww0800?3,r=10
- bestellen: http://customers.domein2....32481&aant=4&ref=klantref

Het eerste zou een tab-gescheiden bestand op moeten leveren.
Het tweede is redelijk straight-forward, dus dat moet niet zo'n probleem zijn.

Mijn vraag is nu de volgende:

Hoe zorg ik ervoor dat ik in een PHP-script elk uur de actuele voorraad binnen kan halen en dit in een database opsla?

Ik weet hoe ik een tab-gescheiden bestand kan opdelen en in een database kan zetten, maar hoe kom ik aan het bestand?

Ik kan redelijk met PHP overweg, maar misschien moet het wel op een andere manier?
Alle hulp is welkom.

  • Standeman
  • Registratie: November 2000
  • Laatst online: 21:50

Standeman

Prutser 1e klasse

Hoe zorg ik ervoor dat ik in een PHP-script elk uur de actuele voorraad binnen kan halen en dit in een database opsla?
Ik neem aan dat je met een soort van PHP http client wel dat bestand kan download. Tevens zal er ook wel in PHP een schedular a la quartz zijn die om de zoveel tijd die http client een schop geeft.

Gooi wat van die termen in google en je komt al een heel eind.

[ Voor 9% gewijzigd door Standeman op 02-09-2010 15:28 ]

The ships hung in the sky in much the same way that bricks don’t.


  • Cartman!
  • Registratie: April 2000
  • Niet online
Periodiek acties uitvoeren dmv. Cronjobs (die je maakt met Crontab) in een *nix-omgeving en op Windows heet dit Scheduled Task. Hoe je die data gaat ontvangen moet je afstemmen met de eigenaar van de data, dat lijkt me nogal logisch.

  • storeman
  • Registratie: April 2004
  • Laatst online: 23:18
Cronjob elk uur draaien.

Met Zend_Http_Client kun je heel eenvoudig requests bouwen en afhandelen op een OOP wijze. Je werkt hier zo te zien alleen met GET requests, dat zou je zelfs nog kunnen doen met fopen() (let op dat allow_remote wel aan staat!)

"Chaos kan niet uit de hand lopen"


  • dB90
  • Registratie: Oktober 2004
  • Laatst online: 03-09 17:28
Hints:
1. cronjob
2. fread en explode("\t", $content)

Webberry Webdevelopment


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

storeman schreef op donderdag 02 september 2010 @ 15:30:
Cronjob elk uur draaien.

Met Zend_Http_Client kun je heel eenvoudig requests bouwen en afhandelen op een OOP wijze. Je werkt hier zo te zien alleen met GET requests, dat zou je zelfs nog kunnen doen met fopen() (let op dat allow_remote wel aan staat!)
He ja, laten we weer een compleet framework er bij slepen voor iets wat gewoon met native php spul gedaan kan worden.

Anyone who gets in between me and my morning coffee should be insecure.


  • Peedy
  • Registratie: Februari 2002
  • Laatst online: 06-11-2024
MueR schreef op donderdag 02 september 2010 @ 15:53:
[...]

He ja, laten we weer een compleet framework er bij slepen voor iets wat gewoon met native php spul gedaan kan worden.
Of met PEAR's HTTP_Client. Overigens hoef je niet héél ZF erbij te slepen om één module ervan te gebruiken.

[ Voor 10% gewijzigd door Peedy op 02-09-2010 16:17 ]


  • Cartman!
  • Registratie: April 2000
  • Niet online
Ondanks dat ik graag met Zend Framework werk heeft het inmiddels zoveel dependencies dat zelfs ogenschijnlijk onbelangrijke componenten nodig zijn voor werking van kleine dingetjes. Gewoon lekker curl gebruiken, veel simpeler dan.

  • storeman
  • Registratie: April 2004
  • Laatst online: 23:18
^^ Met Carman! Hoewel het inderdaad heel fijn werkt, is de modulaire opbouw echt helemaal zoek.

Er is natuurlijk niet bekend of de TS een framework gebruikt of niet, maar zoals je kunt lezen, opties te over :)

"Chaos kan niet uit de hand lopen"


  • Devil
  • Registratie: Oktober 2001
  • Niet online

Devil

King of morons

Dat kan gewoon met fsockopen
Je opent dan een verbinding naar de http server. Vervolgens stuur je de juiste headers, waarna je een response krijgt. Die response kun je gewoon uitlezen in een while ! feof loop.

After all, we are nothing more or less than what we choose to reveal.


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:33

MueR

Admin Tweakers Discord

is niet lief

Oeh, gewoon keihard met sockets, gaaf. Curl is makkelijker, dat is juist voor dit soort dingen gemaakt ;)

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Devil schreef op donderdag 02 september 2010 @ 19:52:
Dat kan gewoon met fsockopen
Je opent dan een verbinding naar de http server. Vervolgens stuur je de juiste headers, waarna je een response krijgt. Die response kun je gewoon uitlezen in een while ! feof loop.
Hier staan inderdaad dingen die ik kan begrijpen...dank voor deze reactie.

Ik ben nu bezig om cUrl uit te vogelen...

[ Voor 9% gewijzigd door Verwijderd op 06-09-2010 14:54 ]

Pagina: 1