Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tamires

erro com funcao file_get_contents

Recommended Posts

ola!estou usando o get_file_contents para enviar os dados de um arquivo como uma newsletter. no localhost funciona, mas no servidor, ele retorna este erro:Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/restricted/home/public_html/ss/admin/envia_nl.php on line 48Warning: file_get_contents(endereco arquivo) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/restricted/home/public_html/ss/admin/envia_nl.php on line 48não consegui entender o q houve. ja mudei permissao de arquivo, arrumei os links, mais nd.aguardo respostasgratatamires

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo você tem que dar CHMD 777! na pasta e no arquivo! você já fez isso?t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim ele esta tentando acessar dados de uma url.e dei chmod na pasta e nos arquivos, deu o mesmo erro.se for o servidor, tem como ativar o acesso a esses arquivos? uso a locaweb

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte. Talvez você terá que acessar esse arquivo (que está em outro servidor) através da biblioteca CURL.

 

Crie uma função alternativa para utilizar o file_get_contents:

 

function my_file_get_contents( $site_url ){	$ch = curl_init();	$timeout = 10;	curl_setopt ($ch, CURLOPT_URL, $site_url);	curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);	curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);	$file_contents = curl_exec($ch);	curl_close($ch);	return $file_contents;}

Daí ao invés de usar:

file_get_contents('http://.....')

Use:

my_file_get_contents('http://.....')

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimente então:

 

function my_file_get_contents( $site_url ){	$ch = curl_init();	$timeout = 5; // set to zero for no timeout	curl_setopt ($ch, CURLOPT_URL, $site_url);	curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);	ob_start();	curl_exec($ch);	curl_close($ch);	$file_contents = ob_get_contents();	ob_end_clean();	return $file_contents;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tamires, pelo que entendi lendo as mensagens do pessoal você está incluindo o caminho no local errado!

 

A função my_file_get_contents você não mexe nada dentro dela. Apenas na hora que você chamá-la aí sim você inclui aquela URL que você passou.....

Entendeu?

Acho que o erro pode ser esse....

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas a principio eu fiz isso e não funcionou (coloquei a url so quando chamei a funcao). depois q eu coloquei o endereço dentro da função que também não funcionou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O ideal entao seria você pedir auxilio ao suporte da locaweb para ver o que eles indicam a fazer nesse sentido, já que o bloqueio de acesso a funcao file_get_contents para acessar uma url externa vem da parte de configuracação do servidor deles. Acredito que eles deve informar uma alternativa para fazer esse procedimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que estou pesquisando, geralmente os servidores bloqueiam essa funcao, e a funcao file() tb nao funcionou.vou entrar em contato com a locaweb, para ver se eles liberame essa funcao.obrigada. valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, pesquisei na locaweb, se for util pra alguem tem o link do faq.

a locaweb so autoriza q se use essa funcao mediante uma avaliacao que eles fazem...

valeu a ajuda ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

tamires posso deletar a conta? ja fez os testes?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos,

 

Consegui resolver esse problema alterando no arquivo php.ini a seguinte linha:

 

De:

allow_url_fopen = Off

 

Para:

allow_url_fopen = On

 

 

Espero que ajude !!

 

Abs

Marcus Linares

Compartilhar este post


Link para o post
Compartilhar em outros sites
Olá amigos,

 

Consegui resolver esse problema alterando no arquivo php.ini a seguinte linha:

 

De:

allow_url_fopen = Off

 

Para:

allow_url_fopen = On

 

Nem todos os servidores de hospedagem deixam você alterar essas diretivas.

Caso seja o seu caso, tente com curl, como já sugerido que irá funcionar.

 

P.S.: não ressucite tópicos antigos, tente colaborar nos mais recentes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.