Ir para conteúdo

Arquivado

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

Espector

Manipular XML com PHP

Recommended Posts

Boa noite,

 

Estou tentando inserir informações em um arquivo teste.xlm



$myFile = "teste.xml";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "Bobby Bopper\n";
fwrite($fh, $stringData);
$stringData = "Tracy Tanner\n";
fwrite($fh, $stringData);
fclose($fh);
 

Porém, ele nao consegue abrir o arquivo,

 

Possuo um servidor linux, será que é problema de permisões?

 

Obs: coloquei o arquivo dentro do www

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite

 

cara se estiver fazendo online tem servidores que não permitem essa abertura externa por padrão dê uma olhadinha aqui

 

http://forum.imasters.com.br/topic/503942-function-getfeed-ler-xml/

 

insira essas 2 linhas de código no começo do seu script e tente:

 

//PERMITE REQUISIÇÕES EXTERNASini_set('allow_url_fopen', 1);ini_set('allow_url_include', 1);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem tantos erros aí que fica até difícil saber por onde começar...

 

1º - O modo 'w' irá sobrescrever (ou seja, substituir) o conteúdo do arquivo por outra string. Tudo o que já estiver dentro desse arquivo será perdido e o conteúdo dele será apenas:

Bobby Bopper
Tracy Tanner

Se por "inserir informações" você quis dizer adicionar mais conteúdo ao que já está no arquivo, então você deve usar o modo 'a' (se precisar apenas fazer escrita de dados) ou 'a+' (se além de escrita, também precisar fazer leitura dos dados).

 

Veja mais na documentação da função fopen.

 

2º - Trata-se de um arquivo XML, certo? Então você está usando as funções erradas para fazer isso, pois o formato XML é um formato de texto estruturado por tags e deve ser manipulado usando funções específicas para este formato.

 

Veja a página sobre Manipulação de XML para mais informações.

 

 

Quanto ao problema: quando o fopen não consegue abrir um arquivo, um erro Warning é gerado, se não está aparecendo nada, então a exibição de erros está desabilitada (o que é padrão em servidores de produção). Tente habilitar a exibição de erros colocando esse código no topo do arquivo PHP:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(-1);

Se aparecer alguma mensagem e você não souber o que ela significa, poste ela aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa noite,

 

Obrigado, mas na verdade era permissão do linux..

 

E meu proprio php estrutura o xml x) o problema era exportar mesmo

 

outra duvida...

 

Ao gerar o arquivo teste.xml teria como eu renomear o teste.xml para teste2.xml e gerar o novo?

 

Tipo fazer um backup do arquivo que vai ser substituido?

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Abra o arquivo teste.xml em mode leitura (mode 'r'), coloque o conteúdo desse arquivo em uma variável, faça as alterações nesse dados e use fopen para criar o arquivo teste2.xml e coloque escreva o conteúdo nele.

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.