Como incluir dados remotos em scripts PHP quando allow_url_include não está ativa
Quem desenvolve em PHP talvez já tenha se deparado com esse problema:
Um script PHP que utiliza a função include para incluir dados de um arquivo remoto, via http.
Exemplo:
include(“http://www.site.com.br/arquivo.htm”)
Para que essa função possa ser utilizada dessa maneira, é necessário que as diretivas de configuração allow_url_fopen e allow_url_include (a partir da versão 5.2.0) estejam ativas.
Entretanto, alguns serviços de hospedagem estão adotando polÃticas de segurança, que desativam essas diretivas.
Se esse é o seu caso, uma solução é utilizar funções da biblioteca CURL. Ela é uma biblioteca criada por Daniel Stenberg que permite conexão e comunicação com diferentes tipos de servidores usando diferentes protocolos, como http, https, ftp, gopher, telnet, dict, file, e ldap.
Esta biblioteca precisa estar instalada e compilada no seu servidor PHP. Saiba mais clicando aqui.
Aqui está uma maneira bem simples de substituir a chamada à função include do PHP, utilizando CURL:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “http://www.site.com.br/arquivo.htm“);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
$saida = curl_exec ($ch);
if (!curl_errno($ch))
{
curl_close ($ch);
echo $saida;
}
else
{
print curl_error($ch);
}
É mais código, mas é mais eficiente e seguro. Além de funcionar com as diretivas allow_url_fopen e allow_url_include desativadas.
Compare preços de Gravador de DVDs no Buscapé.
Ofertas: Pen Drive Kingston 2 Gb, Hd Seagate 320gb.
Este tutorial foi útil para você?
Você pode me ajudar a criar novos tutoriais e manter este site!



3 comentários em “Como incluir dados remotos em scripts PHP quando allow_url_include não está ativa”
Depois pode por umas geladas na minha conta… valeu!!!
Olá Jaum,
Pode deixar!
Mas se quiser, pode começar fazendo uma doação.
Tem um link na barra à direita do blog, só para isso!
Abraço.