このコードはサーバーに対して機能していません。しかし、それは私のローカルホスト(xampp)に働いています
$url = file_get_contents('http://www.site.com/');
$xhtml='|<tr style="background-color:#dddddd;">
<td class="odd" align="left">(.+?)</td><td class="odd">(.+?)</td>
</tr>|i';
preg_match_all($xhtml,$url,$score);
array_shift($score);
echo"<pre>";
print_r($score);
echo"</pre>";
このようにコードを変更すると、別のスコアが出力されます。このような2つの行があるためです。同じコードです。ちなみに、コードはサーバーに対して機能します。
$xhtml='|<td class="odd" align="left">(.+?)</td><td class="odd">(.+?)</td>|i';
コード間でこの2つの値を取る必要があります。
allow_url_fopen = on
file_get_contents()の代わりにこの関数を試してください:
<?php
function curl_get_contents($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
File_get_contents()と同じように使用できますが、cURLを使用します。
Ubuntu(またはaptitudeを備えた他のUnixライクなオペレーティングシステム)にcURLをインストールします。
Sudo apt-get install php5-curl
Sudo /etc/init.d/Apache2 restart
参照 cURL
許可する必要があります
allow_url_fopen
php.ini設定ファイル内。一部のホストはセキュリティのためにそれを拒否します
私はこのトピックが古いことを知っていますが、私は自分でこれを理解し、後で誰かを助けると考えなければなりませんでした。
上記のように言う:
必要なもの:
uRLを許可fopen許可URLを含める
CURLを使用している場合は、curl拡張機能が必要です
Https://のfile_get_contentsの場合は、Apache sslモジュールとopenssl php拡張モジュールも必要だと思います。
OpenSSLとSSLモジュールがFacebookグラフ(明らかにhttps://)でfile_get_contentsを実行しないと、「ファイルが見つかりません」エラーが返されました。
また、次のことも確認してください。allow_url_include On
403 Forbiddenのようなネットワーク権限の問題がないことを確認してください。
allow_url_fopen
is On
次に、firewallまたはcsfそしてもう一度確認してください。
私たちはこの問題を抱えていて、それが異常なものであることが判明しました。 file_get_contents( ' https://www.google.com ');私たちにとっての問題は、サーバーがipv6を使用するように設定されていましたが、ipv6 ipが割り当てられていなかったためです。私たちはipv6を無効にし、ipv4を使用させ、それが機能しました。リストのもう1つを確認してください。