PHP:Fitxers: diferència entre les revisions
Salta a la navegació
Salta a la cerca
| Línia 39: | Línia 39: | ||
fwrite($fp, date("Ymd G:i:s") . "\t" . $_SERVER{'DOCUMENT_ROOT'} . "\t" . $_SERVER{'REQUEST_URI'} . "\t" . $_SERVER{'REDIRECT_URL'} . "\n"); | fwrite($fp, date("Ymd G:i:s") . "\t" . $_SERVER{'DOCUMENT_ROOT'} . "\t" . $_SERVER{'REQUEST_URI'} . "\t" . $_SERVER{'REDIRECT_URL'} . "\n"); | ||
fclose($fp); | fclose($fp); | ||
==Afegir a un registre informació de l'usuari== | |||
$elim = array("\n", "\r", "\t", '$', "\\'", "'", "\\"); | |||
$info_usuari= str_replace($elim,' ',$HTTP_ACCEPT_LANGUAGE) . "\t" . str_replace($elim,' ',$HTTP_USER_AGENT) . "\t" . str_replace($elim,' ',$HTTP_ACCEPT) . "\t" . str_replace($elim,' ',$HTTP_ACCEPT_ENCODING) . "\t" . str_replace($elim,' ',$HTTP_ACCEPT_CHARSET); | |||
if ($_SERVER{'HTTP_X_FORWARDED_FOR'} != "" && $_SERVER{'HTTP_X_FORWARDED_FOR'} != "127.0.0.1") | |||
$ipusuari= $_SERVER{'HTTP_X_FORWARDED_FOR'}; | |||
else | |||
$ipusuari= $_SERVER{'REMOTE_ADDR'}; | |||
if ($ipusuari != "") | |||
$hostusuari = gethostbyaddr($ipusuari); | |||
$fp = fopen("fitxer.txt", "a+"); | |||
fwrite($fp, date("Ymd G:i:s") . "\t" . $_SERVER{'REMOTE_ADDR'} . "\t" . $_SERVER{'HTTP_X_FORWARDED_FOR'} . "\t" . $hostusuari . "\t" . $_SERVER{'DOCUMENT_ROOT'} . "\t" . $_SERVER{'REQUEST_URI'} . "\t" . $_SERVER{'REDIRECT_URL'} . "\t" . $info_usuari . "\n"); | |||
fclose($fp); | |||
Revisió del 11:24, 5 març 2009
Llegir
$nomfitxer = "fitxer.txt";
if (is_file($nomfitxer)
{
$fp = fopen($nomfitxer, "r");
if ($fp) {
while (flock($fp, LOCK_EX) == false) // do an exclusive lock
{usleep(rand(1, 300));}
$content = ;
while (!feof($handle)) {
$content .= fread($handle, 8192);
}
flock($fp, LOCK_UN);
fclose($fp);
}
}
fget enlloc del fread serveix per llegir linia a linia.
Escriure
$nomfitxer = "fitxer.txt";
$fp = fopen($nomfitxer , "w+");
if ($fp) {
while (flock($fp, LOCK_EX) == false) // do an exclusive lock
{usleep(rand(1, 300));}
fwrite($fp, $content);
flock($fp, LOCK_UN);
fclose($fp);
}
"a+" enlloc de "w+" serveix per afegir al final del fitxer.
Afegir a un registre
$fp = fopen("fitxer.txt", "a+");
fwrite($fp, date("Ymd G:i:s") . "\t" . $_SERVER{'DOCUMENT_ROOT'} . "\t" . $_SERVER{'REQUEST_URI'} . "\t" . $_SERVER{'REDIRECT_URL'} . "\n");
fclose($fp);
Afegir a un registre informació de l'usuari
$elim = array("\n", "\r", "\t", '$', "\\'", "'", "\\");
$info_usuari= str_replace($elim,' ',$HTTP_ACCEPT_LANGUAGE) . "\t" . str_replace($elim,' ',$HTTP_USER_AGENT) . "\t" . str_replace($elim,' ',$HTTP_ACCEPT) . "\t" . str_replace($elim,' ',$HTTP_ACCEPT_ENCODING) . "\t" . str_replace($elim,' ',$HTTP_ACCEPT_CHARSET);
if ($_SERVER{'HTTP_X_FORWARDED_FOR'} != "" && $_SERVER{'HTTP_X_FORWARDED_FOR'} != "127.0.0.1")
$ipusuari= $_SERVER{'HTTP_X_FORWARDED_FOR'};
else
$ipusuari= $_SERVER{'REMOTE_ADDR'};
if ($ipusuari != "")
$hostusuari = gethostbyaddr($ipusuari);
$fp = fopen("fitxer.txt", "a+");
fwrite($fp, date("Ymd G:i:s") . "\t" . $_SERVER{'REMOTE_ADDR'} . "\t" . $_SERVER{'HTTP_X_FORWARDED_FOR'} . "\t" . $hostusuari . "\t" . $_SERVER{'DOCUMENT_ROOT'} . "\t" . $_SERVER{'REQUEST_URI'} . "\t" . $_SERVER{'REDIRECT_URL'} . "\t" . $info_usuari . "\n");
fclose($fp);