PHP
Erro ao acessar um arquivo externo com o comando file_get_content
Em algum momento necessitamos utilizar o comando file_get-contents para ler um determinado arquivo para manipularmos de alguma forma, mas nos deparamos com um problema que na maioria dos casos, não podemos modificar o arquivo php.ini para corrigir o problema, por não ter acesso ao arquivo no SERVIDOR.
Um exemplo de uso é o botão de compartilhar do TWITTER com URL curta, utilizando o serviço do site bitly Developer, que seria usado file_get-contents($URL_consulta_API) mas muitas vezes não funciona quando subimos a aplicação para o SERVIDOR, onde o mesmo funciona perfeitamente em LOCALHOST.
Mas porque isso acontece?
Esse problema acontece porque muitos SERVIDORES deixam desabilitados por motivos de segurança a opção de acesso a arquivos através de URL.
E como contornar essa situação?
Podemos fazer uso através da biblioteca CURL. Criando uma função alternativa para utilizar o file_get_contents, que ficaria da seguinte forma:
public function getFileContent($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $contents = curl_exec($ch); if (curl_errno($ch)) { echo curl_error($ch); echo "\n "; $contents = ''; } else { curl_close($ch); } if (!is_string($contents) || !strlen($contents)) { echo "Failed to get contents."; $contents = ''; } return $contents; }
Daí ao invés de usar:
file_get_contents('//...sua-url-comprida-aqui...')
Usamos assim:
getFileContent('//...sua-url-comprida-aqui...')
Lembrando que o módulo CURL também deve estar habilitado, mas isso é perfeitamente possível entrando em contato com o responsável do SERVIDOR, quando necessário.
Espero ter ajudado, pois tive um problemão com esse procedimento, fazendo com que tomasse muitos copos de café para distrair o nervosismo por parecer ser uma coisa simples e não conseguir fazê-lo.
Até a próxima ! =)
Gigasystems Login:
Informe seu e-mail abaixo para continuar!
XVeja Também:
Artigos Relacionados a categoria: PHP
Cotações para compra e venda de Moedas estrangeiras com PHP
27 July de 2016
Gerenciador de dependências Composer
14 January de 2016
Baixando anexo do email no servidor com IMAP e PHP
27 August de 2015
Ler Email do servidor com IMAP e PHP
19 August de 2015
Olá, deixe seu comentário para Erro ao acessar um arquivo externo com o comando file_get_content