Fopen - Caminho Absoluto - Não Consigo !
#1
Posted 28/03/2005, 01:42
Meu erro deve ser bastante básico, mas vamos lá!
Criei uma função para criar um log de acesso à paginas protegidas.
O problema é que a função esta escrevendo no diretório de cada página, e não na raiz como eu queria. Acabo ficando com várias logs...
Já tentei de tudo para mudar o caminho, entre estas :
1. Funciona, mas escreve em cada diretorio...[/B]
$filename = "log_visitas.php";
$fp=fopen($filename,"a+");
2. Não funciona... não escreve em lugar algum.
$filename = "http://www.meusite.c...g_visitas.php";
2. Não funciona... não escreve em lugar algum.
$filename = "/login/log_visitas.php";
Já troquei "" por '', não sei o que mais tentar...
O que pode ser?
Obrigado, Augusto.
=================================================
Código Completo da função :
<?php
function r4log () {
include ("log_visitas.php");
$pagina = $_SERVER["PHP_SELF"];
$usuario = $_SESSION["user"];
$ip = $_SESSION["ip"];
if ($ip == "") $ip = "IP não registrado";
if($usuario == "") $usuario = "usuário desconhecido";
$datahora = date("m/d/Y H:i:s");
$varpagina = "Paginalog_u[";
$varusuario = "Usuario_u["; /// alterado senha - agora criptografada.
$varip = "IP_u[";
$vardatahora = "Datahora_u[";
$filename = "log_visitas.php";
$fp=fopen($filename,"a+");
fputs($fp,"
<?php
//Log de Visita no Sistema : $usuario
$$varusuario$i] = \"$usuario\";
$$vardatahora$i] = \"$datahora\";
$$varpagina$i] = \"$pagina\";
$$varip$i] = \"$ip\";
?> ");
}
#2
Posted 28/03/2005, 05:27
<? //pega o diretório atual: $dir = getcwd(); $logdir = '/logs/'; $filename = 'log.php'; echo "DIRETORIO: ".$dir.$logdir."<br>"; if(!is_dir($dir.$logdir)){ #diretorio umask(0); mkdir($dir.$logdir,0777); #cria o diretorio com permissão de escrita } touch($dir.$logdir.$filename);#muda o ultimo acesso ao arquivo, e se ele nao existir, ele é criado $fp = fopen($dir.$logdir.$filename, 'a+'); #abre fwrite($fp, "TEXTO AQUI"); #escreve fclose($fp); #fecha ?>
#3
Posted 29/03/2005, 01:15
O problema é que o script grava logs em todos os diretórios que tenho páginas.
Como faço para dar um único endereço para todas as páginas visitadas?
(ENDEREÇO ABSOLUTO).
da forma atual ele grava um arquivo de log para cada pasta que eu tiver páginas...
Gostaria de gravar em : www/logs/log.php
Para qualquer página visitada. Porém, só estou conseguindo gravar em endereços relativos à pagina visitada...
Obrigado,
Augusto.
#4
Posted 29/03/2005, 03:21
$filename = 'log.php';
#verifica se existe o diretório de logs na raiz do servidor
if(!is_dir($HTTP_SERVER_VARS['DOCUMENT_ROOT']."/logs/")){
umask(0);
mkdir($HTTP_SERVER_VARS['DOCUMENT_ROOT']."/logs/",0777);
}
#grava o arquivo
touch($HTTP_SERVER_VARS['DOCUMENT_ROOT']."/logs/".$filename);#muda o ultimo acesso ao arquivo, e se ele nao existir, ele é criado
$fp = fopen($HTTP_SERVER_VARS['DOCUMENT_ROOT']."/logs/".$filename, 'a+'); #abre
fwrite($fp, "TEXTO AQUI"); #escreve
fclose($fp); #fecha
Assim ele vai gravar sempre na mesma pasta.
#5
Posted 29/03/2005, 15:14
em 'DOCUMENT_ROOT' eu substituo pelo meu site como :
'www.meusite.com.br" ou mantenho como 'DOCUMENT_ROOT'.
Novato é uma xxxxxx...
Vlw, Augusto.
#6
Posted 29/03/2005, 15:23
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)