Die Anzahl der Elemente sollten gleich bleiben:
$buffer = file_get_contents("http://share-links.biz/api/list?apikey=2ed183155346a56a");
$lines = explode("\n",$buffer);
foreach($lines as $line) {
$resArray = explode(";",$line);
if (count($resArray) == 6) {
print_r($resArray);
}
}Ich nutze diese API- Abfrage:
http://share-links.biz/api/list?apikey=2ed183155346a56aDiese Abfrage, liefert mir folgende Ausgabe.
f9zeuenjbygnh;Hoster Test;so,ob,ul,fs,bs;556356550;0;online 7s08qen7gxwu;sdsdsdsdsdsd;ul;7008015;0;online x1y7qenll3qj;sdssd;ul;89791;0;online 0df6qenm7dg5r;SL;ul;7008015;0;online qu55men1z4bm;ShooBi;ul;89791;0;online
Die Ausgabe besteht aus folgenden Inhalten:
ID (f9zeuenjbygnh)
NAME (Hoster Test)
KÜRZEL (so,ob,ul,fs,bs)
GRÖßE (556356550)
KLICKS (0)
STATUS (online)
---- Es folgt ein Leerzeichen und die nächste Ausgabe folgt
Jetzt kommen wir zu dem eigentlichen, was passieren soll.
Im Adminbereich, kann man einen Containerlink von Share-Linkz.biz eingeben:
http://share-links.biz/_f9zeuenjbygnhIn der URL ist die ID vorhanden: http: // share-links.biz/_f9zeuenjbygnh
Das System extrahiert die ID und schreibt diese in die Datenbank.
Auf der Detailsseite, werden anhand der ID von dem Share-Linkz Container einige Fragen abgefragt:
$sldl = str_replace(SHARELINKZBIZ_FOLDERKEY, '', $image_row['image_download_url']);
if ($image_row['image_download_url'] == SHARELINKZBIZ_FOLDERKEY . $sldl . '') {
$sls_curl = curl_init();
curl_setopt($sls_curl, CURLOPT_URL, SHARELINKZBIZ_STATS);
curl_setopt($sls_curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($sls_curl, CURLOPT_POST, 1);
curl_setopt($sls_curl, CURLOPT_FOLLOWLOCATION, 1);
$arrays = array(
'apikey' => '2ed183155346a56a',
'folderCodes' => $sldl,
);
curl_setopt($sls_curl, CURLOPT_POSTFIELDS, $arrays);
$sls_echo = explode(';', curl_exec($sls_curl));
curl_close($sls_curl);
$image_parts = $sls_echo[6];
$statustxt = array(
"/online/",
"/offline/"
);
$statusimg = array(
"<img src=\"" . TEMPLATE_PATH . "/images/status/online.png\" width=\"24\" height=\"14\" alt=\"\"/>",
"<img src=\"" . TEMPLATE_PATH . "/images/status/offline.png\" width=\"24\" height=\"14\" alt=\"\"/>"
);
$status = preg_replace($statustxt, $statusimg, $sls_echo[2]);
$image_status = $status;
} else {
$image_parts = "n/a";
}Hier wird z.B der Status und die Parts abgefragt, ohne Probleme.
Allerdings wird hier die Status-API verwendet:
http://share-links.biz/api/statusDie Status-API liefert aber nicht die exakten Hoster/Kürzel aus, darum muss ich auf
http://share-links.biz/api/list zurückgreifen, welches aber ALLE Ordner ausliefert.
Darum versuche ich wie beim Status mit einer if-Abfrage und anhand der ID an die Hoster-Kürzel zu kommen.
Das Problem ist aber das die Liste mehrere Container auf einmal ausgibt und man nicht so einfach mit "$sls_echo[2]" an die entsprechende Stelle kommt.
Denn
http://share-links.biz/api/status liefert anhand der ID auch nur die ID-Relevanten Daten aus und
http://share-links.biz/api/list alle Container.