Ir para conteúdo

POWERED BY:

Arquivado

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

Chaparro

[Resolvido] Erro ao Gravar arquivo na pasta

Recommended Posts

Pessoal, beleza?

Estou fazendo uma página na qual eu preciso que seja gravada um arquivo dentro de uma pasta, mas está aparecendo os erros

 

Warning: mkdir() [function.mkdir]: File exists in /home/business/public_html/admin/noticias/cadastrar.php on line 188

 

Warning: mkdir() [function.mkdir]: File exists in /home/business/public_html/admin/noticias/cadastrar.php on line 193

 

Warning: mkdir() [function.mkdir]: File exists in /home/business/public_html/admin/noticias/cadastrar.php on line 198

 

As pastas estão sendo criadas normalmente, mas o erro aparece ao escrever o arquivo dentro da pasta.

 

Segue abaixo o código

 

if($rs = mysql_query($sql, $conexao))
{
	//echo "sql:".$rs;
		$sql_gerador = " SELECT noticia_id, topico_id, noticia_titulo, noticia_apoio, noticia_texto
		  ,noticia_data, noticia_data_publicacao, noticia_status
		  FROM noticias WHERE noticia_id = ".$notID;

		//echo "sql:".$sql_gerador;

		$rs_gerador = mysql_query($sql_gerador, $conexao);
		$campo = mysql_fetch_array($rs_gerador, MYSQL_ASSOC);
		$noticia_id= $campo['noticia_id'];
		$topico_id= $campo['topico_id'];
		$noticia_titulo= $campo['noticia_titulo'];
		$noticia_apoio= $campo['noticia_apoio'];
		$noticia_texto= $campo['noticia_texto'];
		$noticia_texto= str_replace(""","'", $noticia_texto);
		$noticia_data= $campo['noticia_data'];
		echo "DATA:".$noticia_data;
		echo "<br><br>";
		$noticia_data_publicacao= $campo['noticia_data_publicacao'];
		$noticia_status= $campo['noticia_status'];



		if($layout == "1")
		{		
			include ("templates/layout1.php");
		}
/* --------------------------------------------------------------------------------------------------- */

		$vet_data = explode("-",$noticia_data);
		$data_ano =$vet_data[0];
		$data_mes =$vet_data[1];
		$data_dia =$vet_data[2];
		$vet_data_dia  = explode(" ",$data_dia);
		$data_dia =$vet_data_dia[0];
		$nome_noticia = geraUrlLimpa($noticia_id);
		$caminho_noticia = $data_ano."\\".$data_mes."\\".$data_dia;   
		$filename = $_SERVER['DOCUMENT_ROOT']."\\noticias\\".$caminho_noticia;

		if(!file_exists($_SERVER['DOCUMENT_ROOT']."\\noticias\\".$data_ano))
		{
			mkdir($_SERVER['DOCUMENT_ROOT']."/noticias/".$data_ano, 0755,true);	

		}
		if(!file_exists($_SERVER['DOCUMENT_ROOT']."\\noticias\\".$data_ano."\\".$data_mes))
		{
			mkdir($_SERVER['DOCUMENT_ROOT']."/noticias/".$data_ano."/".$data_mes, 0755,true);	

		}
		if(!file_exists($_SERVER['DOCUMENT_ROOT']."\\noticias\\".$data_ano."\\".$data_mes."\\".$data_dia))
		{
			mkdir($_SERVER['DOCUMENT_ROOT']."/noticias/".$data_ano."/".$data_mes."/".$data_dia, 0755,true);	

		}

		$filename = $_SERVER['DOCUMENT_ROOT']."\\noticias\\".$caminho_noticia."\\".$nome_noticia.".php";

		if (!$handle = fopen($filename, 'w+'))
		{

			 print "Erro abrindo arquivo ($filename)";
			 exit;
		}
		if (!fwrite($handle, $fotoRot))
		{
			echo "Fotorot:".$fotoRot;
			print "Erro escrevendo no arquivo ($filename)";
			exit;
		}
		fclose($handle);
	}


 

Alguem pode me ajudar? Perdi já muito tempo com isso...

As permissões também estão corretas...

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

sua verificação não está boa.

 

cria todas as pastas ao mesmo tempo, não precisa criar uma a uma

 

adapte

 

$data = date("Y/m/d");//pega a data atual
$pasta = sprintf("%s/noticias/%s ", $_SERVER['DOCUMENT_ROOT'],$data); //monta o endereço
if(!file_exists($pasta)){//verifica existência
mkdir($pasta, 0755,true);//cria pasta
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

ja existe esses arquivos criados? excluia eles primeiro se der certo, o seu codigo não esta sobreescrevendo o arquivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Victor Cometti

 

Na verdade ele está criando 3 pastas diferentes... Ele cria na seguinte estrutura 2011 - 08 - 09 por exemplo... Então são 3 pastas... Da maneira que você me enviou vai dar na mesma, vou ter que criar tres opções para criar as mesmas ou não?

 

shini

 

Quando eu vou cadastrar uma noticia, ela cria a estrutura das pastas perfeitamente, mas não consegue inserir o arquivo dentro da pasta...

Quando eu vou inserir uma nova noticia ele aparece o erro sobre as verificações das pastas existentes...

 

Ou seja, quando eu deleto as pastas do remoto e vou adicionar novamente aparece o seguinte erro... Elas cria as pastas, mas o arquivo não vai para a pasta...

 

 
Erro escrevendo no arquivo (/home/business/public_html\noticias\2011\08\09\200.php) 

 

Ai quando eu vou criar novamente uma noticia aparece esse erros

 

Warning: mkdir() [function.mkdir]: File exists in /home/business/public_html/admin/noticias/cadastrar.php on line 190

Warning: mkdir() [function.mkdir]: File exists in /home/business/public_html/admin/noticias/cadastrar.php on line 195

Warning: mkdir() [function.mkdir]: File exists in /home/business/public_html/admin/noticias/cadastrar.php on line 200
Erro escrevendo no arquivo (/home/business/public_html\noticias\2011\08\09\202.php)

Compartilhar este post


Link para o post
Compartilhar em outros sites

pelo que vi você está criando sub pastas, dá para criar todas de uma só vez, experimente o código

 

Victor, muito obrigado pela sua ajuda... Deu super certo... não sabia que tinha como fazer isso direto... Então por isso que eu tentava na raça mesmo... Mais deu super certo... Muito obrigado... Ai também já matou o outro problema que eu tinha com esse pequeno script...

 

Ficou assim

 

		$nome_noticia = geraUrlLimpa($noticia_id);

		$noticia_data = date("Y/m/d");
		//pega a data atual
		$pasta = sprintf("%s/noticias/%s", $_SERVER['DOCUMENT_ROOT'],$noticia_data); 
		//monta o endereço
		if(!file_exists($pasta))
		{//verifica existência        
			mkdir($pasta, 0755,true);//cria pasta
		}

		$filename = $pasta."/".$nome_noticia.".php";
		//$filename = $_SERVER['DOCUMENT_ROOT']."noticias\\".$pasta."\\".$nome_noticia.".php";

		if (!$handle = fopen($filename, 'w+'))
		{

			 print "Erro abrindo arquivo ($filename)";
			 exit;
		}
		if (!fwrite($handle, $fotoRot))
		{
			print "Erro escrevendo no arquivo ($filename)";
			exit;
		}
		fclose($handle);


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.