Array
(
)

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

PHP
Karine Sobral
   - 26 jul 2015

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.
#Código


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



#Código
fclose($log);

index.php
#Código

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");	

William (devwilliam)
   - 27 jul 2015

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.
#Código

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.

Karine Sobral
   - 27 jul 2015

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

@ serve para algo afinal?

Jothaz
   - 27 jul 2015


Citação:
Esse código eu coloco acima do meu código? é para executar primeiro?

@ serve para algo afinal?


O William respondeu:

Citação:

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.

Karine Sobral
   - 27 jul 2015

Depois de usar, quando não mais precisar eu tiro, eu vi código #Código

@fopen
pensei que fazia parte do código.

Karine Sobral
   - 01 ago 2015

Não precisa mais???

Karine Sobral
   - 01 ago 2015

Olhem:

#Código

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