Hallo Leute,
wir programmieren Lancoms mit einem selbsterstellten Script, dass wir mit PHP erzeugen. Um das ganze noch etwas besser zu gestallten, möchten wir das ganze auch automatisch auf den Lancom hochladen lassen. Dazu hat der Lancom im Interface ein Uploadformular.
Nun muss ich wissen, wie genau ich das ansteuer. Hab ein bisschen rumgeschaut und das hier gefunden:
function doPost($uri,$postdata,$host){
echo $host;
$da = fsockopen($host, 80, $errno, $errstr);
$data_f=fread($da, 1000);
echo $data_f;
if (!$da) {
echo "$errstr ($errno)<br/>\n";
echo $da;
}
else {
$salida ="POST $uri HTTP/1.1\r\n";
$salida.="Host: $host\r\n";
$salida.="User-Agent: PHP Script\r\n";
$salida.="Content-Type: application/x-www-form-urlencoded\r\n";
$salida.="Content-Length: ".strlen($postdata)."\r\n";
$salida.="Connection: close\r\n\r\n";
$salida.=$postdata;
fputs($da, $salida);
/*while (!feof($da))
$response.=fgets($da, 128);
$response=split("\r\n\r\n",$response);
$header=$response[0];
$responsecontent=$response[1];
if(!(strpos($header,"Transfer-Encoding: chunked")===false)){
$aux=split("\r\n",$responsecontent);
for($i=0;$i<count($aux);$i++)
if($i==0 || ($i%2==0))
$aux[$i]="";
$responsecontent=implode("",$aux);
}//if
return chop($responsecontent);*/
}
}
$postdata = urlencode('./user/name.lcs');
$dns_name = "lancom-" . $_REQUEST['item16'];
$host = gethostbyname($dns_name);
$uri = "/loadconf/doit";
doPost($uri,$postdata,$host);
Da die while schleife ein dauerladen der seite verursachte und im Endefekt nur dazu dient, dass eine Ausgabe erscheint, habe ich diese erstmal auskommentiert.
$host wird ausgegeben, aber $data_f ist leider leer.
Weiß jemand rat? Stimmt der Code überhaupt, dass ich damit ein Dateiupload verschicken kann?
Danke für eure Hilfe.