Gravando arquivo de log, não puxa nenhuma informação

26/07/2015

0

PHP

Preciso de uma ajudinha para achar aonde está o erro nos códigos abaixo, ele cria o arquivo mas não possui nenhuma informação nele.


fwrite($log,date("d/m/Y H:i:s")." ".$_SERVER["REMOTE_ADDR"]." ".$_POST['usuario']."\n");




fclose($log);


index.php


define("ARQUIVO_LOG","log.txt");
	
	$log = @fopen(ARQUIVO_LOG, "x");
	// se for igual a false, o arquivo já existe
	if($log == false) {
		// o paramentro a abre o arquivo e posiciona o ponteiro no final do mesmo
		$log == fopen(ARQUIVO_LOG,"a");
	}
	
	require_once("controller.php");	

Karine Sobral

Karine Sobral

Responder

Posts

27/07/2015

William

Karine, vou te dar 2 sugestões como sei que você está começando como programadora:

1 - Evite usar "@" antes de qualquer chamada em PHP, essa prática esconde os erros e vai ter fazer perder horas atrás de um bug.

2 - Quando estiver desenvolvendo sempre habilite a exibição de erros nos seu scripts (código abaixo no topo do seu script), quando terminar e for entregar para o cliente pode retirar essa configuração.
error_reporting(E_ALL);
ini_set('display_errors', 1);


Quanto a sua dúvida, seu código está meio fragmentado não consegui identificar qual script chama a execução do log.
Responder

27/07/2015

Karine Sobral

Esse código eu coloco acima do meu código? é para executar primeiro?

@ serve para algo afinal?
Responder

27/07/2015

Jothaz

Esse código eu coloco acima do meu código? é para executar primeiro?

@ serve para algo afinal?




O William respondeu:



1 - Evite usar "@" antes de qualquer chamada em PHP, essa prática esconde os erros e vai ter fazer perder horas atrás de um bug.


Ele oculta o retorno de erro, só dever utilizado quando for liberada a versão de produção para o usuário.
Durante o processo de desenvolvimento é melhor que os erro sejam lançados na tela.
Claro que você deve implementar uma forma de capturar os erro em produção em um log, pro exemplo, para facilitar a manutenção.
Responder

27/07/2015

Karine Sobral

Depois de usar, quando não mais precisar eu tiro, eu vi código
@fopen
pensei que fazia parte do código.
Responder

01/08/2015

Karine Sobral

Não precisa mais???
Responder

01/08/2015

Karine Sobral

Olhem:

fwrite($log,date("d/m/Y H:i:s")." ".$_SERVER['REMOTE_ADDR']." ".$_POST['usuario']."\r\n");
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar