Pagina 1 din 1

Modificare script contor accesari

Scris: Lun Aug 10, 2015
de Valentin89
Salut as dori sa modific acest script astfel incat in loc sa-mi afiseze vizualizarile sa afiseze doar adresa URL de la site, si de ficare data de cate ori sa accesat sa-l scrie.

Cod: Selectaţi tot

<?php
$filename = "hits.txt";
$count= file($filename);
$count[0]++;
$file = fopen ($filename, "w") or die ("Cannot find $filename");
fputs($file, "$count[0]");
fclose($file);
echo $count[0];
?>

Modificare script contor accesari

Scris: Lun Aug 10, 2015
de MarPlo
Salut
Cu $_SERVER['REQUEST_URI'] poti prelua adresa curenta a paginii accesate (fara nume domeniu) si o aplici in acel script. Dar trebuie refacut complet daca vrei sa inregistrezi si numarul de accesari la fiecare adresa.
- Poate iti e de folos raspunsul de la: Cerere script salvare adresa pagina accesate in fisier text.

Re: Modificare script contor accesari

Scris: Lun Aug 10, 2015
de Valentin89
Am ajuns la scriptul asta, am postat si pe forumul php..ai vazut in marea parte ce problema am intampinat am incercat si cu PHP_EOL insa sunt praf, nu stiu nici unde sa-l trec. Scriptul meu isi face treaba exact cum trebuie insa scrie peste si nu insereaza o alta linie..e o tampenie..

Cod: Selectaţi tot

<?php 
if(isset($_SERVER['HTTP_REFERER'])) {
    $ref = $_SERVER['HTTP_REFERER'];
} else {
	$ref = "Accesare directa";
}
$ip = $_SERVER['SERVER_ADDR'];
$filename = "vizite.txt"; 
$count= file($filename); 
$count[0]++; 
$data = 'A venit o vizita din partea : '.$ref.'.  ,Cu IPul : '.$ip.'';
$file = fopen ($filename, "w") or die ("Cannot find $filename"); 
fwrite($file,$data);
fclose($file); 
echo $count[0]; 
?>

Modificare script contor accesari

Scris: Lun Aug 10, 2015
de MarPlo
Faptul ca scrie peste, sau ca rescrie ce e deja salvat, nu are legatura cu PHP_EOL sau caractere de rand nou "\n". Problema e ca fisierul text e deschis in modul "w" la fopen(), ceea ce face ca la aplicarea fwrite() sa stearga continutul existet si apoi adauga cel nou.
Mai simplu, cu mai putine linii de cod, ar fi cu file_put_contents().
- Vezi cum iti merge acest cod si te poti juca cu el sa-l modifici:

Cod: Selectaţi tot

$ref = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] :'Accesare directa';
$ip = $_SERVER['SERVER_ADDR'];
$file = 'vizite.txt';
$data = PHP_EOL .'A venit o vizita din partea : '.$ref.'.  Cu IPul : '.$ip;
if(file_put_contents($file, $data, FILE_APPEND | LOCK_EX)) echo $data;
else echo 'Unable to save data in:'. $file;

Modificare script contor accesari

Scris: Lun Aug 10, 2015
de andras
Daca totusi vrei sa adauge ceva la sfirsitul fisierului il deschizi pentru scriere cu:

Cod: Selectaţi tot

$file = fopen($filename, "a"); 
iar pentru citire-scriere:

Cod: Selectaţi tot

$file = fopen($filename, "a+");