Como incluir dados remotos em scripts PHP quando allow_url_include não está ativa

Categorias: [ Tutoriais ]

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!

Artigos similares
Rate this topic:
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
Popularity: 300 views
mais nas tags: [ ]
Você pode acompanhar os comentários deste artigo via feed RSS 2.0. Você pode deixar uma resposta, ou trackback do seu próprio site.

3 comentários em “Como incluir dados remotos em scripts PHP quando allow_url_include não está ativa”

  • Jaum
    7 May, 2009, 14:52
    Salvou a patria meu amigo!!!
    Depois pode por umas geladas na minha conta… valeu!!!
  • Rui Nelson
    7 May, 2009, 23:46

    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.

  • Rogério Almeida
    31 March, 2010, 11:15
    Muito boa matéria.

Deixe um Comentário

Fechar