Ir para conteúdo

Arquivado

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

dfonte

no localhost funciona - no servidor web não funciona

Recommended Posts

e aew pessoal, beleza...

sou novo aqui no forum e estou com um probleminha que está me deixando louco. é o sequinte:

 

Tenho um arquivo PHP que pega os dados do mysql e gera um arquivo xml e o resultado deste xml será mostrado no flash.

 

O arquivo PHP é este:

<?PHP$sql = mysql_query("SELECT A.ID, A.FOTO FROM mvs_fotos A");$row = mysql_num_rows($sql); if($row > 0) {	$arquivo = "fotos.xml";/	$ponteiro = fopen($arquivo, "w+");		fwrite($ponteiro, "<?xml version=\"1.0\"?>\r\n");	fwrite($ponteiro, "<photos>\r\n");		for($i=0; $i<$row; $i++) {		$id   = mysql_result($sql,$i,"A.ID");		$foto = mysql_result($sql,$i,"A.FOTO");		$conteudo  = "\t<fotos nome=\"".$foto."\" id=\"".$id."\" />\r\n";				fwrite($ponteiro, $conteudo);	}		fwrite($ponteiro, "</photos>");	fclose($ponteiro);}?>
o arquivo XML gerado é parecido com este:

<?xml version="1.0"?><photos>	<fotos nome="foto1.jpg" id="0" />	<fotos nome="foto2.jpg" id="1" />	<fotos nome="foto3.jpg" id="2" />	<fotos nome="foto4.jpg" id="3" />	<fotos nome="foto5.jpg" id="4" /></photos>
No localhost aqui na minha máquina está funcionando perfeitamente más quando está no servidor web da o seguinte erro:

Warning: fopen(fotos.xml) [function.fopen]: failed to open stream: Permission denied in /endereço_do_servidor_web/geraXML.php on line 6Warning: fwrite(): supplied argument is not a valid stream resource in /endereço_do_servidor_web/geraXML.php on line 8Warning: fwrite(): supplied argument is not a valid stream resource in /endereço_do_servidor_web/geraXML.php on line 9Warning: fwrite(): supplied argument is not a valid stream resource in /endereço_do_servidor_web/geraXML.php on line 16Warning: fwrite(): supplied argument is not a valid stream resource in /endereço_do_servidor_web/geraXML.php on line 19Warning: fclose(): supplied argument is not a valid stream resource in /endereço_do_servidor_web/geraXML.php on line 20

Não sei se o problema está nos códigos ou no servidor web. Eu contatei o suporte técnico do servidor e eles me disseram que não há problemas no servidor deles.

 

Se alguém puder me ajudar eu ficaria agradecido.

 

t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

VICHI AQUI NA EMPRESA só da pau nestes esquema de xml com flash, a verdade é que o flash é uma m***, mas opiniões a parte.da permissão direto n oarquivo 777, se ainda não funcionar limpa td cache do teu navegador e verifica se o caminho ta certinho, se ainda não der tira a rotina de gerar o arquivo e tenta só puxa os dados dele com o flash, tem que ir por etapa, ve se cada etapa foi cumprida, começando pela geração do arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema está em gerar o arquivo xml. se eu fazer o upload de um arquivo já criado para a pasta, o flash lê este arquivo de boa sem dar nenhum erro.tipo, eu faço o upload das fotos para o servidor e depois q eu termino eu clico em um link para gerar o xml e é ai q dá o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é isso ai ronan... com oo ronan falou ao criar o xml via php tens que dar permissão no arquivo xml via php ao criar, naum adianta da permissão só na pasta. olha o comando php que da permissão no arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ainda sou iniciante em php mas pesquisei um pouco e encontrei a função:

chmod ("arquivo", 0777);

 

coloquei esta função logo após fopen pq do meu ponto de vista é o lugar mais apropriado.

 

o código ficou assim:

<?PHP$sql = mysql_query("SELECT A.ID, A.FOTO FROM mvs_fotos A");$row = mysql_num_rows($sql); if($row > 0) {	$arquivo = "fotos.xml";/	$ponteiro = fopen($arquivo, "w+");	chmod ("fotos.xml", 0777);	fwrite($ponteiro, "<?xml version=\"1.0\"?>\r\n");	fwrite($ponteiro, "<photos>\r\n");		for($i=0; $i<$row; $i++) {		$id   = mysql_result($sql,$i,"A.ID");		$foto = mysql_result($sql,$i,"A.FOTO");		$conteudo  = "\t<fotos nome=\"".$foto."\" id=\"".$id."\" />\r\n";				fwrite($ponteiro, $conteudo);	}		fwrite($ponteiro, "</photos>");	fclose($ponteiro);}?>
no localhost não dá nenhum erro más online deu os mesmos erro de antes e mais este:

Warning: chmod() [function.chmod]: Operation not permitted in /endereço_do_servidor_web/geraXML.php on line 7

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.