Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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.
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
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.
Uma ótima forma de manipular xml é utilizando DOM
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);