dejado
Grünschnabel
Hallo zusammen
Ich bin ein blutiger Anfänger in sachen PHP und habe ein kleines Problem, bzw. zwei!
Zunächst habe ich mir folgendes Script zur Steuerung meines XEN Guests über eine API-Schnittstelle heruntergeladen:
Nun zu meinen Fragen:
1. Wie rufe ich nun die Funktion getInfo() auf und kann mir das Ergebniss ausgeben lassen?
2. Wie kann ich den <Token> und die PlanID durch eine Variable auslesen (z.B. in einer config.ing.php)
3. wenn ich das script aufrufe bekomme ich folgende Warnung: Notice: Trying to get property of non-object in /data/..../myb.php line 52 (die Rote)
EDIT:
return FALSE;
}
if($data->messages[0]->type == 'error') {
die($data->messages[0]->message);
}
Würde mich über eure Hilfe sehr freuen!
Gruß Chris
Ich bin ein blutiger Anfänger in sachen PHP und habe ein kleines Problem, bzw. zwei!
Zunächst habe ich mir folgendes Script zur Steuerung meines XEN Guests über eine API-Schnittstelle heruntergeladen:
PHP:
class myBox {
function __construct($id=NULL) {
define('HOST','https://api.mybox.de/<Token>/v1.0/');
define('DEFAULT_PLAN_ID',10);
$this->id = $id;
if ($id) {
$this->getInfo();
}
}
function requestCurl( $id, $method='GET', $data=array(), $command='myBoxes' ) {
$ch = curl_init( HOST.$command.'/'.$id );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE);
if (strtoupper($method) == 'POST') {
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, http_build_query($data) );
}
if (strtoupper($method) == 'GET') curl_setopt($ch, CURLOPT_HTTPGET, 1 );
if (strtoupper($method) == 'PUT') {
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($data)));
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
}
if( !$data = curl_exec( $ch )) {
echo "Curl execusion error.", curl_error( $ch ) ."\n";
return FALSE;
}
if($data->messages[0]->type == 'error') {
die($data->messages[0]->message);
}
curl_close( $ch );
return $data;
}
function getInfo() {
$json = $this->requestCurl($id = $this->id, $method = 'GET');
$json = json_decode($json);
if (is_object($json)) {
foreach($json->result AS $var=>$value){
$this->$var = $value;
}
return $json->result;
}
else {
return FALSE;
}
}
}
Nun zu meinen Fragen:
1. Wie rufe ich nun die Funktion getInfo() auf und kann mir das Ergebniss ausgeben lassen?
2. Wie kann ich den <Token> und die PlanID durch eine Variable auslesen (z.B. in einer config.ing.php)
3. wenn ich das script aufrufe bekomme ich folgende Warnung: Notice: Trying to get property of non-object in /data/..../myb.php line 52 (die Rote)
EDIT:
return FALSE;
}
if($data->messages[0]->type == 'error') {
die($data->messages[0]->message);
}
Würde mich über eure Hilfe sehr freuen!
Gruß Chris
Zuletzt bearbeitet: