Mehrere IDs an Facebook übergeben

Saschav2411

Grünschnabel
Hallo,

ich habe gerade gemerkt, wenn ich 15mal den Code nacheinander schreibe,
wird mein Server ziemlich belastet.

Gibt es eine Möglichkeit alles in ein Array zu packen,
und darauf zuzugreifen mit $url[1]; $url[2]; usw?

Hier mein Code

PHP:
<?php

$headers1 = get_headers('https://graph.facebook.com/'.$friends[data][1][id].'/picture',1);
    // just a precaution, check whether the header isset...
    if(isset($headers1['Location'])) {
        $url1 = $headers1['Location']; // string
    } else {
        $url1 = false; // nothing there? .. weird, but okay!
    }
?>



<?php

$headers2 = get_headers('https://graph.facebook.com/'.$friends[data][2][id].'/picture?width=50&height=100',1);
    // just a precaution, check whether the header isset...
    if(isset($headers2['Location'])) {
        $url2 = $headers2['Location']; // string
    } else {
        $url2 = false; // nothing there? .. weird, but okay!
    }

?>


<?php

$headers3 = get_headers('https://graph.facebook.com/'.$friends[data][3][id].'/picture',1);
    // just a precaution, check whether the header isset...
    if(isset($headers3['Location'])) {
        $url3 = $headers3['Location']; // string
    } else {
        $url3 = false; // nothing there? .. weird, but okay!
    }

?>


Vielen Dank :)
 
Hi,

also erstmal, was macht die Funktion get_headers() denn genau?

2. Hast du schon mal geprofiled, wo es hakt? Möglicherweise ist das Problem gar nicht dein Script sondern eine lahme Verbindung zu 3rd-Party-Sites.

Versuch mal mit microtime(true) herauszufinden, welcher Code-Teil lahmt.
 
also wenn ich das mal wüsste :D

ich benötige die Url des Profilbildes damit ich es ohne zwischenzuspeichern direkt in imagecreate einfügen kann.

ich meinte das ich die 'headers' in ein Array pack, sodass ich nicht für jedes Bild den kompletten Code neu einfügen muss, und es eventuell auch schneller arbeitet.

Ein viel größeres Problem ist, dass ich jedes mal bei Aufruf Socketzugriffe habe...
Gibt es eine andere Möglichkeit an die Url des Facebookprofils zu kommen?

Bzw woran liegt dass, das ich immer diese Socketzugriffe habe**** Weil diese sind ja bei den Hostern nur begrenzt...


Schönen 1.Advent :)
 
Hi

Mit FB kann ich leider (oder zum Glück) überhaupt nicht helfen, aber:
Bzw woran liegt dass, das ich immer diese Socketzugriffe habe
Wahrscheinlich daran, das get_headers eine HTTP-Verbindung zu FB aufbaut
und sich verschiedene Daten davon holt?

Weil diese sind ja bei den Hostern nur begrenzt...
Dann such dir dringenst einen neuen Hoster.
Sowas zu lesen ist grausam.

Schönen 1.Advent :)
Danke, ebenfalls :)
 
Die Header in ein Array zu packen wird das Programm leider nicht beschleunigen. Die Verbindung zu FB muss ja dennoch zu jeder Adresse einzeln aufgebaut werden.

Du könntest natürlich versuchen, eine schnellere Methode als Sockets zu verwenden, z.B. curl. Wobei ich nicht sagen kann, ob es dadurch schneller wird, denn curl macht ja auch ein Socket auf. Das käme halt auf einen Versuch an. Wie schon geschrieben, ohne zu wissen, wie get_headers() genau arbeitet, kann man da nichts empfehlen.

Edit: Dir auch einen schönen 1. Advent.
 
Vielen Dank für beide Antworten :)

ja ich muss halt eben an die richtige "url" des facebook profils hinkommen, deswegen benutze ich diese Funktion.

Ich muss gestehn, hab grad nen Freehoster.. Allerdings Pro Version yeah :D

Ich glaub es läuft schon über curl, deswgeen bekomm ich auch die Fehlermeldung.

Warning: curl_exec() [function.curl-exec]: Sorry, socket access was denied. The contingent for this minute has been exceeded


Ich werde mir auch nen Hoster suchen und auch dafür was zahlen weil ich auch ein SSL Zertifikat benötige.

Dann such dir dringenst einen neuen Hoster.
Sowas zu lesen ist grausam.

Ja jetzt bin ich auf der Suche. Wollte eigentlich zu 1&1 nen Managed Server, aber gibt bestimmt etlich bessere...

Kannst du mir einen empfehlen?
Die Hauptfrage ist eigentlich: Sind die Socketzugriffe, wie ich Sie brauch immer limitiert pro Stunde oder Tag? oder gibt es auch Unlimitierte****

Weil mit 1000 pro Stunde komm ich nicht weit.
Benötige der Statistik nach wie ich Sie jetzt gerade bei dem Hoster einsehen kann ca 1.000.000 / Stunde.


Vielen Dank und Schönen Abend :)

Edit: 1. Advent war super :D
 
Zurück