Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

file_get_contents not working?

This code is not working to server. But It is working to my localhost (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>";

It prints another scores when I change the code like this. Because there are two rows like this. It has same codes. by the way below code works to server.

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

I need to take this two values between code.

allow_url_fopen = on
like image 740
Venom Avatar asked Oct 17 '11 13:10

Venom


2 Answers

Try this function in place of 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;
}

It can be used just like file_get_contents(), but uses cURL.

Install cURL on Ubuntu (or other unix-like operating system with aptitude):

sudo apt-get install php5-curl
sudo /etc/init.d/apache2 restart

See also cURL

like image 160
Adelmar Avatar answered Sep 21 '22 15:09

Adelmar


You need to allow

 allow_url_fopen

in your php.ini config file. Some hosts disallow it for security

like image 24
genesis Avatar answered Sep 21 '22 15:09

genesis