0

配列を返すスクリプトAPIを読み込もうとしています。

$api_key = "Uez4TWYH6OAQQHoUcICWJ8UUFYmwQ";
$file_id = "LNzcOp2b1352047884";
$ch=curl_init(); 
curl_setopt($ch,CURLOPT_URL,'http://ads.ngsms.tk/api/info.php?api_key='.$api_key.'&file_id='.$file_id); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$api = curl_exec($ch); $api = print_r($api); 
Echo $api['file_id'];

上記の表示:

Array ( 
   [file_id] => LNzcOp2b1352047884 
   [file_name] => sic_ftp_3rda.sisx 
   [file_type] => application/octet-stream 
   [file_size] => 65144
)

file_nameやその他の値を取得するにはどうすればよいですか?

4

2 に答える 2

1

配列内の値を取得するには、file_idに対して行ったのと同じ方法でそれを参照しますが、代わりにキーを次の値に置き換えます。

$api['file_id'];
$api['file_name'];
$api['file_type'];
$api['file_size'];

次に、これをページに表示するには、echoを使用します。

echo    $api['file_id'];
echo    $api['file_name'];
echo    $api['file_type'];
echo    $api['file_size'];

したがって、完全なコードは次のようになります。

    <?php
$api_key = "Uez4TWYH6OAQQHoUcICWJ8UUFYmwQ";
$file_id = "LNzcOp2b1352047884";
$ch=curl_init(); 
curl_setopt($ch,CURLOPT_URL,'http://ads.ngsms.tk/api/info.php?api_key='.$api_key.'&file_id='.$file_id); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$api = curl_exec($ch); 
//print_r($api);
$fileid = get_string_between($api, "[file_id] => ", "[file_name] ");
$filename = get_string_between($api, " [file_name] => ", " [file_type] => ");
$filetype = get_string_between($api, " [file_type] => ", " [file_size] =>");
$filesize = get_string_between($api, " [file_size] => ", ")");
echo "ID: $fileid <br /> name: $filename <br />type: $filetype   <br /> size: " .$filesize;
function get_string_between($string, $start, $end){
    $string = " ".$string;
    $ini = strpos($string,$start);
    if ($ini == 0) return "";
    $ini += strlen($start);
    $len = strpos($string,$end,$ini) - $ini;
    return substr($string,$ini,$len);
}
于 2012-11-04T19:11:56.447 に答える
0

私の頭に浮かぶ最も簡単な解決策は、すでに最後のコマンドであるのとまったく同じものです。

echo $api['file_name'] // to print it
$file_name = $api['file_name'];

$api =の前からを削除しprint_rます。

于 2012-11-04T19:10:58.910 に答える