Я пытаюсь извлечь изображения из REST API Twitter и отображать эти изображения.
Insodoing Я пришел к логическому тупику с моим кодом PHP / HTML, не отображающим изображения в браузере моего встроенного сервера разработчиков localhost PHP. Я предпочитаю Firefox как более безопасный (закрытый) браузер, поэтому я сначала разрабатываю в Firefox.
Я думал, что проблема с изображениями, которые не отображаются, возможно, связана с тем, что Twitter не позволяет ссылаться на их изображения, но я просто протестировал этот же код (ниже) в браузерах Chrome и Internet Explorer, и все изображения выглядят отлично.
Поэтому мой [обновленный] вопрос: почему эти изображения не отображаются в браузерах Firefox или Firefox Developer Edition? У Twitter явно нет проблем с hotlinking к их изображениям, которые были извлечены через их API, как показано изображениями, которые хорошо отображаются в браузерах Chrome и Internet Explorer.
У кого есть ответ на этот интересный вопрос?
<!DOCTYPE html> <html lang="en"> <head> <?php // USED TO DEBUG WHY HTTPS WAS NOT WORKING IN THE BEGINNING // var_dump(stream_get_wrappers()); ?> <?php // REQUIRE TWITTEROAUTH LIBRARY require "twitteroauth/autoload.php"; // I HAVE HACKED AROUND WITH THIS, BUT DON'T SEE WHY ABRAHAM IS NECESSARY SINCE THERE IS NO FOLDER NAMED ABRAHAM, // BUT CODE DOES NOT WORK WITHOUT THIS, SO LEAVE IT IN! :) use Abraham\TwitterOAuth\TwitterOAuth; // DECLARE VARIABLES OF KEYS, SECRET, TOKEN, & TOKEN_SECRET $CONSUMER_KEY = "12345"; $CONSUMER_SECRET = "12345"; $access_token = "12345"; $access_token_secret = "12345" // DEFINE NEW CONNECTION VARIABLE: IE CONNECTION TO TWITTER VIA TWITTEROAUTH $connection = new TwitterOAuth($CONSUMER_KEY, $CONSUMER_SECRET, $access_token, $access_token_secret); // CREATE MULTIPLE-PARAMETER QUERY AS ARRAY $query = array( "q" => "#MickeyMouse", "count" => "1000", "include_entities" => "true" ); // MAKE CONNECTION TO TWITTER, GET METHOD FOR "SEARCH/TWEETS", PASS ARRAY AS QUERY $result = $connection->get("search/tweets", $query); // TEST OUTPUT FOR DEBUGGING //var_dump($result); // CREATE VARIABLES: NEW EMPTY ARRAYS $ArrayPhotoURLs = array(); // FOR LOOP, foreach ($result->statuses as $content) { // IF EACH TWEET/STATUS HAS MEDIA, if (isset($content->entities->media)) { // THEN GET THOSE MEDIA URLS foreach ($content->entities->media as $media) { $media_url = $media->media_url; // Or $media->media_url_https for the SSL version. // AND ASSIGN/APPEND EACH MEDIA URL TO THE ARRAY OF MEDIA URLs $ArrayPhotoURLs[] = $media_url; // TEST OUTPUT FOR DEBUGGING //print(gettype($media_url)); //print_r($media_url); //var_dump($media_url); } } } // TEST OUTPUT FOR DEBUGGING //var_dump($ArrayPhotoURLs); // COUNT IMAGES IN ARRAY OF TWITTER IMAGE URLS - TO BE USED BELOW TO CREATE DYNAMIC LIST / ANCHOR / IMG ITEMS $imagecount = count($ArrayPhotoURLs); // TEST OUTPUT FOR DEBUGGING echo $imagecount; ?> </head> <?php // HTML LAYOUT CODE BEGINS HERE ?> <body style=""> <div class="container"> <div> <?php // FOR LOOP, PRINT HTML WITH URL AS BOTH A HREF & IMG SRC PARAMETERS & ANCHOR TEXT foreach ($ArrayPhotoURLs as $PhotoURL) { echo '<a href="', $PhotoURL ,'">', '<img src="',$PhotoURL, '">', $PhotoURL, '</img></a><br/>'; } ?> </div> </div> </body> </html>