2017-01-18 12 views
1

これはよくある質問です.PHPのURLからJSONを取得するにはどうすればいいですか?jsonをPHPのURLから取得します

の.phpファイルがどこにある以下のファイルがある:

<html> 
 
<head> 
 
    <?php 
 
    // $url = "https://localhost:8666/web1/popupData/dataWeekly.php"; 
 
    // $emp = file_get_contents($url); 
 

 
    $json_url = "https://localhost:8666/web1/popupData/dataWeekly.php"; 
 
    $json = file_get_contents($json_url); 
 
    $emp = json_decode($json, TRUE); 
 

 

 

 
    ?> 
 
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script> 
 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script> 
 

 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css"> 
 

 
    <script type="text/javascript"> 
 
    $(document).ready(function(){ 
 
     var JSON = <?php echo json_encode($emp); ?>; 
 

 
     $('.details').click(function(){ 
 
      var name = $(this).attr('id'); 
 

 
      $('#dialog').html('<p>Name : ' + name + '</p> <p>Dept : ' + JSON[name]['dept'] + '</p> <p>Age : ' + JSON[name]['age'] + '</p>'); 
 
      $('#dialog').dialog(); 
 
     }); 
 
    }) 
 
    </script> 
 
</head> 
 
<body> 
 

 
<!-- Dialog Box --> 
 
<div style="display: none;" id="dialog"></div> 
 
<!-- Dialog Box --> 
 

 
<?php 
 
    foreach($emp as $key => $record) 
 
    { 
 
    ?> 
 
     <ul id="<?php echo $key ?>" class="details"> 
 
      <li>Name: <?php echo $key ?></li> 
 
      <li>Dept: <?php echo $record['dept'] ?></li> 
 
     </ul> 
 
    <?php 
 
    } 
 
?> 
 

 
</body> 
 
</html>

これは私が上記のPHPファイル実行と私は取得しています現在のエラーです:

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol in C:\xampp\htdocs\web1\popupData\mp.php on line 8 
 

 
Warning: file_get_contents(): Failed to enable crypto in C:\xampp\htdocs\web1\popupData\mp.php on line 8 
 

 
Warning: file_get_contents(https://localhost:8666/web1/popupData/dataWeekly.php): failed to open stream: operation failed in C:\xampp\htdocs\web1\popupData\mp.php on line 8 
 

 
Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\web1\popupData\mp.php on line 39

助けてください。

+0

可能な複製を使用してみてくださいhttp://stackoverflow.com/questions/14078182/openssl-file-getブラウザでURLを開くようなHTTP要求を行うカール-contents-failed-to-enable-crypto – xReprisal

+0

ヒントのおかげで@ xReprisal – jane

+0

[OPENSSLファイル\ _get \ _contents()の可能な複製:暗号化を有効にできませんでした](http://stackoverflow.com/questions/14078182/ openssl-file-get-contents-failed-to-enable-crypto) –

答えて

2

その後、あなたはそれは、単純なGET リクエスト

のために素晴らしいことだ&お使いのシステムに allow_url_fopenをを 有効にする必要がありますこんにちはあなたはURL

からデータをロードするためにcURLまたはfile_get_contents()のいずれかを使用することができますが、あなたはfile_get_contents()を使用している場合

cURL

はちょうど

cURLの

$json_url = "https://localhost:8666/web1/popupData/dataWeekly.php"; 
$crl = curl_init(); 
curl_setopt($crl, CURLOPT_URL, $json_url); 
curl_setopt($crl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($crl, CURLOPT_SSL_VERIFYPEER, FALSE); 
$json = curl_exec($crl); 
curl_close($crl); 
$emp = json_decode($json, TRUE); 
+0

ありがとうございました。 @msk – jane

+0

正常に動作していますか? – msk

+0

そうですね!! – jane

関連する問題