[PHP / LINUX] Touch external link

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ik vroeg mij af of iemand een applicatie kent die in de volgende situatie een oplossing bied.

Ik heb een client server (via UMTS) en een hoofd server.

De client wilt een string via $_GET versturen naar de hoofd, die vervolgens de $_GET waarde pakt en in de database opslaat.

Nu dacht ik dit te doen door op de client:

PHP:
1
2
3
4
5
6
7
8
<?
foreach($values as $value)
{

       exec("wget http://hoofd.server/save.php?waarde=".$value['waarde']);

}
?>


Aan de serverkant.
PHP:
1
2
3
<?
// doe iets met $_GET['waarde'];
?>


Nou werkt dit opzich alleen download hij telkens onodig bestanden, en gezien dat dit via UMTS gaat is dit zonde en erg tijd rovend als je 300 waardes stuurt.

Ik vroeg mij af of iemand een linux app kent die gewoon een link kan aanraken en er verder niets mee doet als het document klaar is met laden.

Indien iemand anders een betere oplossing heeft hoor ik dat ook graag. Het is wel UMTS dus beperkte snelheid en geen mogelijkheid om van buitenaf aangesproken te worden.

Alvast bedankt

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op donderdag 06 augustus 2009 @ 11:14:
Nu dacht ik dit te doen door op de client:

PHP:
1
2
3
4
5
6
7
8
<?
foreach($values as $value)
{

       exec('wget http://hoofd.server/save.php?waarde=$value['waarde']');

}
?>
Ik ga er vanuit dat dit net uit 't hoofd slordig getypte voorbeeld-code is? :P Want met enkele aanhalingstekens zal hij van $value['waarde'] nooit de inhoud van die variabele nemen, maar de letterlijke tekst. En dan heb ik 't nog niet eens over het fout nesten van de aanhalingstekens :+
Verwijderd schreef op donderdag 06 augustus 2009 @ 11:14:
Ik vroeg mij af of iemand een linux app kent die gewoon een link kan aanraken en er verder niets mee doet als het document klaar is met laden.
Waarom per see een "linux app" als je ook gewoon de CURL libraries in PHP hebt?

Ennuh, 'download ie onnodige bestanden'. Kweenie hoor, maar jij had toch zélf de server in beheer waar je client datgene opvraagt? Als ik een voetbal weg schop, dan ga ik me toch ook niet afvragen waarom hij niet netjes voor m'n neus blijft liggen? 8)7

[ Voor 12% gewijzigd door Osiris op 06-08-2009 11:22 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het was inderdaad een iets te snel getypt voorbeeld. De rede voor linux app is omdat ik niet zoveel kaas gegeten heb van CURL, Zou dus niet weten hoe curl die link kan aaraken zeg maar. Als iemand me daarmee kan helpen hoe dat heet graag.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
http://nl.php.net/CURL

Maar dan nog: je bepaalt toch zélf de output van de aangeroepen scripts?

Acties:
  • 0 Henk 'm!

Verwijderd

In weze zou je gewoon je php script een header laten returnen met een http code, 200 of zo. Heb je minimale dataverkeer en toch een geldige request.

PHP:
1
2
3
4
5
6
7
ob_start();
$crap=$_GET["crap"];
//
// Save the crap here...
//
header("HTTP/1.1 200 Ok");
ob_end_clean();

Acties:
  • 0 Henk 'm!

  • b12e
  • Registratie: Augustus 2009
  • Laatst online: 12-09 15:05
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
//Dit is je server die dingen stuurt; send.php
$tw = curl_init();
curl_setopt($tw, CURLOPT_URL, "http://mijn.andere.server.nl/save.php");
curl_setopt($tw, CURLOPT_RETURNTRANSFER, true);
curl_setopt($tw, CURLOPT_POSTFIELDS, "variabele=iets&var2=ook niks speciaals"); // add POST fields 
curl_exec($tw);
curl_close($tw);

//server die ze ontvangt, save.php
foreach($_POST as $naam => $inhoud)
    //$naam == variabele, $inhoud == iets
    echo $naam." = ".$inhoud." <br />";
?>
Pagina: 1