0

私はこれをしようとしています: http://example.com/nickname/pictureをロードします(ニックネームは、アクセスした URL の var としてロードされます。これは機能しています) json にデコードして、サイトはこれです

{
"picture": "https://example.com/hf8329yrh8oq.jpg"
}

私が試した画像をロードします:

function curlGet($url)
   {
   $crl = curl_init();
   $timeout = 5;
   curl_setopt ($crl, CURLOPT_URL,$url);
   curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
   curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
   $status = curl_exec($crl);
   curl_close($crl);
   return $status;
   }
$profPicCurl = curlGet('https://example.com/'.urlencode($_GET['nickname']).'/picture')
$profPic = json_decode($profPicCurl,true);
echo file_get_contents($profPic.["picture"]);

このスクリプトでエラーなどを処理していないことはわかっていますが、最初に実際の画像で動作するようにしたいと考えています。

平均的な質問: デコードされた json サイトから画像を表示する方法は?

4

2 に答える 2

0

本当に必要curlですか?私のコードで置き換える
こともできますfile_get_contentscurlGet

<?php
  $profPic  = json_decode( file_get_contents( 'https://example.com/'.urlencode( $_GET['nickname'] ).'/picture' ) );
  if ( $profPic ) { // is a valid json object
    if ( isset( $profPic->picture ) ) { // profile picture exists
      $profPic  = $profPic->picture;
      $extension  = strtolower( pathinfo( $profPic, PATHINFO_EXTENSION ) ); // get the image extension
      $content  = file_get_contents( $profPic ); // get content of image
      if ( $content ) {
        header( "Content-type: image/".$extension ); // set mime type
        echo $content; // output the content
        exit();
      }
    }
  }
  echo "File not found"; // there is some errors :\
?>
于 2013-07-19T14:44:55.513 に答える