Ir para conteúdo

Arquivado

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

Chico Gois

Php + XML

Recommended Posts

Salve Pessoal

 

No site do imasters tem um exemplo de php + xml , que fazendo algumas alterações atendem as minhas necessidades. Fiz o teste em dois servidores, um gratuito e outro pago.

 

No gratuito funciona sem problema, ja no pago retorna-me esse erro....

 

Warning: fopen(membros.xml): failed to open stream: Permission denied in

 

Warning: fwrite(): supplied argument is not a valid stream resource in

 

Evidentemente não esta podendo abrir um arquivo para que possa fazer a escrita.

 

Essa alteração é para criar uma lista de usuários do meu fórum, agora fiquei perdido em como resolver esta diferença.

 

Abaixo o codigo

 

PHP

[*]<? 

[*] //CONECTA AO BANCO DE DADOS (Substitua aonde indicado) 

[*] $conn = @mysql_connect("localhost", "nome_usuario","****") 

[*] or die("ERRO NA CONEXÃO")

[*]

[*] //SELECIONA A BASE DE DADOS A SER UTILIZADA (Substitua aonde indicado) 

[*] $db = @mysql_select_db("nome_DB", $conn) 

[*]  or die("ERRO NA SELEÇÃO DA BASE DE DADOS")

[*]

[*] //SQL 

[*] $sql = @mysql_query(" 

[*]  SELECT A.user_id, A.username, A.user_email FROM phpbb_users A") 

[*] or die("ERRO NO SQL")

[*]

[*] //TOTAL DE LINHAS AFETADAS PELA CONSULTA 

[*] $row = mysql_num_rows($sql)

[*]

[*] //VERIFICA SE A PESQUISA RETORNOU ALGUMA LINHA 

[*] if($row > 0) { 

[*]  

[*] //ARQUIVO 

[*] $arquivo = "membros.xml"

[*]

[*] //ABRE O ARQUIVO(SE NÃO EXISTIR, CRIA) 

[*] $ponteiro = fopen($arquivo, "w")

[*]

[*] //ESCREVE NO ARQUIVO XML 

[*] fwrite($ponteiro, "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n")

[*] fwrite($ponteiro, "<usuarios>\r\n");

[*]

[*] for($i=0; $i<$row; $i++) { 

[*]  

[*] //PEGA OS DADOS DO SQL 

[*] $id = mysql_result($sql,$i,"A.user_id");

[*] $nome = mysql_result($sql,$i,"A.username");

[*] $email = mysql_result($sql,$i,"A.user_email")

[*]  

[*]  

[*] //MONTA AS TAGS DO XML 

[*] $conteudo = "<relatorio>\r\n"

[*] $conteudo .= "<id>$id</id>\r\n";

[*] $conteudo .= "<nome>$nome</nome>\r\n";

[*] $conteudo .= "<email>$email</email>\r\n"

[*] $conteudo .= "</relatorio>\r\n";  

[*] //ESCREVE NO ARQUIVO 

[*] fwrite($ponteiro, $conteudo)

[*] }//FECHA FOR 

[*]

[*] //FECHA A TAG AGENDA 

[*] fwrite($ponteiro, "</usuarios>")

[*]

[*] //FECHA O ARQUIVO 

[*] fclose($ponteiro)

[*]

[*] //MENSAGEM 

[*] echo "<h2><font face=Verdana>Listando usuários do fórum usando XML</h2><br>"

[*] echo "O arquivo <b>".$arquivo."</b> foi gerado com SUCESSO !<br><br>"

[*] echo "Basta abrir o arquivo <b>lista.php</b> no navegador"

[*] }//FECHA IF($row) 

[*]?>

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

No pago eu acho que voce tem q arrumar as Flags do arquivo, deixar o chamod dele 777 se nao me engano ! tenta ae

Compartilhar este post


Link para o post
Compartilhar em outros sites

o diretório onde você quer utilizar funções de manipulação de arquivos deve estar com permissão 0777e os arquivos tb

Compartilhar este post


Link para o post
Compartilhar em outros sites

o diretório onde você quer utilizar funções de manipulação de arquivos deve estar com permissão 0777

e os arquivos tb

<{POST_SNAPBACK}>

Você tem razão, as vezes a solução é mais simples do que imaginamos......... http://forum.imasters.com.br/public/style_emoticons/default/blush.gif

 

Esqueci da dar 777 na pasta.

 

Gratos a todos.

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.