it-swarm-id.com

file_get_contents tidak berfungsi?

Kode ini tidak berfungsi ke server. Tapi ini berfungsi untuk localhost saya (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>";

Ini mencetak skor lain ketika saya mengubah kode seperti ini. Karena ada dua baris seperti ini. Ini memiliki kode yang sama. dengan cara kode di bawah ini berfungsi ke server.

$xhtml='|<td class="odd" align="left">(.+?)</td><td class="odd">(.+?)</td>|i';

Saya perlu mengambil dua nilai ini antara kode.

allow_url_fopen = on
14
Venom

Coba fungsi ini sebagai ganti 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;
}

Itu dapat digunakan seperti file_get_contents (), tetapi menggunakan cURL.

Instal cURL di Ubuntu (atau sistem operasi mirip-unix lainnya dengan aptitude):

Sudo apt-get install php5-curl
Sudo /etc/init.d/Apache2 restart

Lihat juga cURL

26
Adelmar

Anda harus mengizinkan

 allow_url_fopen

dalam file konfigurasi php.ini Anda. Beberapa host melarangnya untuk keamanan

19
genesis

Saya tahu topik ini sudah lama, tetapi saya harus memikirkannya sendiri dan mencari tahu itu akan membantu seseorang nanti.

Seperti kata di atas:

Anda membutuhkan:

izinkan url fopen izinkan url sertakan

Jika Anda menggunakan CURL maka Anda perlu ekstensi keriting

Jika Anda adalah file_get_contents dari https: // Saya yakin Anda juga memerlukan modul Apache ssl, serta ekstensi php openssl.

Tanpa OpenSSL dan Modul SSL melakukan file_get_contents pada grafik facebook (jelas https: //) ia mengembalikan kesalahan "Tidak ada file yang ditemukan".

10
David Lawrence

Periksa juga apakah Anda memiliki: allow_url_include On

Dan pastikan tidak ada masalah izin jaringan seperti 403 Forbidden .

2
shasi kanth

Jika allow_url_fopen adalah On maka nonaktifkan firewall atau csf dan periksa kembali.

0
afshin

Kami memiliki masalah ini dan ternyata menjadi sesuatu yang tidak biasa. Kami mencoba untuk file_get_contents (' https://www.google.com '); masalah bagi kami adalah karena server diatur untuk menggunakan ipv6 tetapi tidak ada ipv6 yang ditugaskan. Kami menonaktifkan ipv6 dan menggunakannya ipv4 dan berhasil. Hanya satu hal lagi dalam daftar untuk diperiksa.

0
henry