0

外部URLを開こうとしました。私のローカルサーバーでは問題なく動作します。しかし、ライブサーバーに移動すると、タイムアウトエラーが表示されます。URLを同じドメインのURLに置き換えたところ、うまくいきました。
サーバーで allow_url_fopen がオンになっています。

 <?php
if ($fp = fopen('https://www.google.com/', 'r')) {
   $content = '';
   // keep reading until there's nothing left
   while ($line = fread($fp, 1024)) {
      $content .= $line;
   }

   echo $content;
   echo  'do something with the content here';
   // ...
} else {
   echo 'an error occured when trying to open the specified url';
}

?>

更新しました

  $curl_handle=curl_init();
  curl_setopt($curl_handle,CURLOPT_URL,'https://www.google.co.in/');
  curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
  curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
  $buffer = curl_exec($curl_handle);
  curl_close($curl_handle);
  if (empty($buffer)){
      print "Nothing returned from url..<p>";
  }
  else{
      print $buffer;
  }

私もcURLを試しました。「URLから何も返されません..」を返します。しかし、私のローカル サーバーとデモ サーバーでは問題なく動作します。

4

1 に答える 1

0

サードパーティの URL からデータを取得するには、curl を使用する必要があります。以下のリンクと例を確認してください: PHP の cURL とは?

例 :

$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => "http://www.example.com/yourscript.php",
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS     => array(
        'field1' => 'some date',
        'field2' => 'some other data',
    )
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);
于 2016-12-14T06:47:11.647 に答える