Ir para conteúdo

POWERED BY:

Arquivado

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

drk7

[Resolvido] Como ler um arquivo externo pelo php?

Recommended Posts

Oi. Estou tentando ler um arquivo externo e não estou conseguindo.

Já tentei ler o arquivo com os métodos file, fopen e readfile.

Arquivo local eu consigo, mas externo não.

 

Não seria assim por exemplo:

 

$caminho = "http://endereco.com/a.xml";
$xml = simplexml_load_file('$caminho');
//ou
$xml2 = fopen("$caminho", "r")

Isso tá errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele não encontra o arquivo.

No script eu fiz uma verificação, e ele imprime se encontrou ou não. Local ele encontra, externo não.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei, mas o código, a princípio era isso mesmo?

Não tenho problemas para acessar sites externos, redirecionar páginas e tal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na verdade nem precisa usar simple_xml se você quer simplesmente exibir o conteúdo.

 

Teste isto:

$caminho = "http://endereco.com/a.xml";
echo file_get_contents( $caminho );

E veja se allow_url_fopen está em on. Se estiver off, você não vai conseguir acessar uma URL externa. Aí terá de usar cURL.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou Beraldo.

 

Agora o problema é o seguinte: quando carrego o arquivo XML, pelo simplexml_load_file, ele diz que o objeto não pode ser convertido p/ uma String.

A url que estou tentando aceesar é essa: RSS UOL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tirando a verificação, dá 1 warning e um erro:

 

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "$caminho" in G:\\leXML_cls.php on line 9

UOL Notícias

Catchable fatal error: Object of class LeXML could not be converted to string in G:\\index.php on line 155

 

Só que mostra o titulo.

 

Tu acha que deve ser o allow_url_fopen do php.ini?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente algo assim:

$url = "http://rss.noticias.uol.com.br/ultnot/index.xml";
$content = file_get_contents( $url );
$xml = simplexml_load_string( $content );
echo $xml->channel->title;

Se o file_get_contents funcionar, o allow_url_fopen está em on.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora mostrou isso e deu só esse erro:

 

UOL Notícias

Catchable fatal error: Object of class LeXML could not be converted to string in G:\index.php on line 155

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparentemente é algum erro no seu código

 

pegue o exemplo que o Beraldo postou e teste num arquivo novo separado dos demais, apenas para testar

e veja o que retorna. Apenas pra ter certeza absoluta de que o erro está no script da sua página "g:/index.php"

 

pela mensagem de erro parece estar tentando realizar alguma operação de strings para um objeto por isso ocorre o erro

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.