Função equivalente para file_get_contents ()?

Quero analisar algumas informações de uma página html. Atualmente eu resolvo o problema como este:

header("Content-type: text/plain"); $this->pageSource = file_get_contents ($this->page); header("Content-type: text/html"); 

$this->page é o URL do site. Isso funciona bem no XAMPP, mas quando eu envio meu script no meu servidor web, recebo a seguinte mensagem de erro:

Aviso: file_get_contents () [function.file-get-contents]: http: // o wrapper está desativado na configuração do servidor por allow_url_fopen = 0

Então, obviamente, não tenho permissão para executar essa function no meu servidor web.

Então, existe uma function equivalente para resolver meu problema?

Na verdade, a function file_get_contents não está desativada,
mas allow_url_fopen está desativado

você pode substituí-lo por curl

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $this->page); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $this->pageSource = curl_exec($ch); curl_close($ch); 

No entanto, se o servidor bloquear o tráfego de saída, o curl também não ajuda

Use curl() .

CURL é a solução padrão habitual.

Use curl e por que você precisa mudar o header para texto simples para recuperar dados? Isso não é necessário se você estiver recuperando dados.

Se você tem curl, use isso é ótimo para isso.

 $urlx = 'http://yoururl'; $data="from=$from&to=$to&body=".urlencode($body)."&url=$url"; //set post parameters $process = curl_init($urlx); //init curl connection curl_setopt($process, CURLOPT_HEADER, 0); curl_setopt($process, CURLOPT_POSTFIELDS, $data); curl_setopt($process, CURLOPT_POST, 1); curl_setopt($process, CURLOPT_RETURNTRANSFER,1); curl_setopt($process,CURLOPT_CONNECTTIMEOUT,1); $resp = curl_exec($process); //your content curl_close($process);
$urlx = 'http://yoururl'; $data="from=$from&to=$to&body=".urlencode($body)."&url=$url"; //set post parameters $process = curl_init($urlx); //init curl connection curl_setopt($process, CURLOPT_HEADER, 0); curl_setopt($process, CURLOPT_POSTFIELDS, $data); curl_setopt($process, CURLOPT_POST, 1); curl_setopt($process, CURLOPT_RETURNTRANSFER,1); curl_setopt($process,CURLOPT_CONNECTTIMEOUT,1); $resp = curl_exec($process); //your content curl_close($process);