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
Como instalar certificado SSL (https) no WampServer
30 March 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
Olá, deixe seu comentário para Erro ao acessar um arquivo externo com o comando file_get_content