2017-01-18 3 views
1

Я понимаю, что это общий вопрос. Я хочу знать, как получить JSON из url в php.получить json из URL-адреса в php

ниже файл, где файл .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 -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

Привет вы можете использовать либо cURL или file_get_contents() для загрузки данных из URL

, но если вы используете file_get_contents(), то вы должны быть включен allow_url_fopen в вашей системе & он отлично подходит для простого GET запросы

cURL

Curl сделать запрос HTTP так же, как открытие URL в браузере

попробуйте использовать 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

Смежные вопросы