2016-05-17 16 views
0

Ich bin mit PHP Bild ($ img) von Bild-URLs zu speichern ($ imgURL)PHP-Logo-Bild von eingereichten URL speichern

file_put_contents ($ img, file_get_contents ($ imgURL)) verwendet wird;

Die $ imgURL-Links werden aus der vom Benutzer übermittelten URL ($ webURL) extrahiert. Das funktioniert gut. Websites können jedoch viele URLs für Bilder enthalten. Wie extrahiere ich das Bild der Logo-Datei, die in der Site verwendet wird ($ webURL)? Mit anderen Worten, wie finde ich heraus, welches $ imgURL das Logo-Bild enthält?

Antwort

0

Sie müssen den HTML-Code kennen, den Sie analysieren. Dann müssen Sie verwenden, kommen Attribut Informationen, die Sie wollen, wie jede Klasse, Name, src zu bekommen ...

Also, Sie wie diesem Beitrag tun können bereits zeigen: getting image src in php

$doc = new DOMDocument(); 
$doc->loadHTMLFile($url); 
$xpath = new DOMXpath($doc); 
$imgs = $xpath->query("//img"); 
for ($i=0; $i < $imgs->length; $i++) { 
    $img = $imgs->item($i); 
    $src = $img->getAttribute("src"); 
    // do something with $src 

    ... if img contains your logo data, return .. 
} 
+0

Danke, Es hat gut funktioniert. Der Punkt ist: Wenn der Benutzer URL ($ webURL) hat viele Links zu Bildern ($ imgURL) dann wie automatisch herausfinden, welches Bild das Logo oder ein sehr relevantes Bild der Website enthält, für die die URL eingereicht wird? Zum Beispiel hat http://en.unesco.org/ Links zu vielen (> 50) Bildern. Gibt es eine Möglichkeit, ein relevantes Bild zu finden (z. B. das Logo der UNESCO oder ein Bild, das die UNESCO beschreibt)? – FreeBenzine

+0

Sie können versuchen, Bilder mit 'logo' im Namen zu finden, aber es wird nicht jedes Mal funktionieren. Es gibt keine Möglichkeit, immer zu wissen, welches Bild Ihr Logo ist. HTML stellt diese Informationen nicht bereit. Was Sie tun können, ist, wenn Sie kein Logo finden, können Sie alle Bilder dieser Seite zeigen, fragen Sie Benutzer, welches Bild ist Ihr Logo und speichern Sie diese Informationen. –

Verwandte Themen