Que pensez vous de mon fichier
Résolu
flexi2202
Messages postés
3822
Date d'inscription
Statut
Membre
Dernière intervention
-
flexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
flexi2202 Messages postés 3822 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Que pensez vous de mon fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
- Comment réduire la taille d'un fichier - Guide
8 réponses
Bonjour,
Comprends tu à quoi servent les lignes 47 à 50 ?
Si oui... tu peux donc revoir le début de ton code
Si non... regarde la doc.
Comprends tu à quoi servent les lignes 47 à 50 ?
Si oui... tu peux donc revoir le début de ton code
Si non... regarde la doc.
bonjour Jordane
oui je recherche l ip réelle de la personne...
pour le début du code je me sers de l ip de la personne pour rechercher sa localisation
cela aurait peut être été mieux que je cherche sa localisation avec la variable $somecontent
oui je recherche l ip réelle de la personne...
pour le début du code je me sers de l ip de la personne pour rechercher sa localisation
cela aurait peut être été mieux que je cherche sa localisation avec la variable $somecontent
merci de l aide
donc le code serait le suivant
donc le code serait le suivant
<?php //debut recherche ip de la personne $filename = 'test.txt'; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $somecontent=$_SERVER['HTTP_X_FORWARDED_FOR']; else $somecontent=$_SERVER['REMOTE_ADDR']; //fin recherche ip de la personne //debut de recherche pour la localisation de la personne $ip = $somecontent; // Use JSON encoded string and converts // it into a PHP variable $ipdat = @json_decode(file_get_contents( "http://www.geoplugin.net/json.gp?ip=" . $ip)); $country = $ipdat->geoplugin_countryName; $city = $ipdat->geoplugin_city; $continent_name = $ipdat->geoplugin_continentName; $latitude = $ipdat->geoplugin_latitude; $longitude = $ipdat->geoplugin_longitude; $currency_symbol = $ipdat->geoplugin_currencySymbol; $currency_code = $ipdat->geoplugin_currencyCode; $timezone = $ipdat->geoplugin_timezone; ; //fin de recherche pour la localisation de la personne //debut de recherche du navigateur de la personne $browser = $_SERVER['HTTP_USER_AGENT']; //fin de recherche du navigateur de la personne //debut de recherche du systeme d exploitation de la personne $user_agent = getenv("HTTP_USER_AGENT"); if (strpos($user_agent, "Win") !== FALSE) $os = "Windows"; elseif ((strpos($user_agent, "Mac") !== FALSE) || (strpos($user_agent, "PPC") !== FALSE)) $os = "Mac"; elseif (strpos($user_agent, "Linux") !== FALSE) $os = "Linux"; elseif (strpos($user_agent, "FreeBSD") !== FALSE) $os = "FreeBSD"; elseif (strpos($user_agent, "SunOS") !== FALSE) $os = "SunOS"; elseif (strpos($user_agent, "IRIX") !== FALSE) $os = "IRIX"; elseif (strpos($user_agent, "BeOS") !== FALSE) $os = "BeOS"; elseif (strpos($user_agent, "OS/2") !== FALSE) $os = "OS/2"; elseif (strpos($user_agent, "AIX") !== FALSE) $os = "AIX"; else $os = "Autre"; //fin de recherche du systeme d exploitation de la personne //debut recherche http visite de la personne if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') $link = "https"; else $link = "http"; // Here append the common URL characters. $link .= "://"; // Append the host(domain name, ip) to the URL. $link .= $_SERVER['HTTP_HOST']; // Append the requested resource location to the URL $link .= $_SERVER['REQUEST_URI']; //fin recherche http visite de la personne //debut recherche heure de la personne $date=$_SERVER['REQUEST_TIME']; setlocale(LC_TIME, "fr_FR"); $date1 = date('Y-m-d H:i:s', $date +7200); // Date du jour //fin recherche heure de la personne // Assurons nous que le fichier est accessible en écriture if (is_writable($filename)) { // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout // Le pointeur de fichier est placé à la fin du fichier // c'est là que $somecontent sera placé if (!$handle = fopen($filename, 'a')) { echo "Impossible d'ouvrir le fichier ($filename)"; exit; } // Ecrivons quelque chose dans notre fichier. echo $date2; if (fwrite($handle,strftime("%A %d %B %G %H:%M:%S", strtotime($date1))."\t $os.\t $browser.\t $country.\t $city\t $somecontent.\t $link.\r\n") === FALSE) { echo "Impossible d'écrire dans le fichier ($filename)"; exit; } echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi"; fclose($handle); } else { echo "Le fichier $filename n'est pas accessible en écriture."; } ?>
Un découpage du code en FONCTIONS le rendra plus lisible et plus facilement maintenable.
Par exemple :
Pour récupérer l'adresse IP de l'utilisateur
Pour connaitre le navigateur de l'utilisateur :
https://www.php.net/manual/en/function.get-browser.php#101125
Et pour info
ou
retournent la même chose ...
Par exemple :
Pour récupérer l'adresse IP de l'utilisateur
function getUserIP(){ if (!empty($_SERVER["HTTP_CLIENT_IP"]){ //check for ip from share internet $ip = $_SERVER["HTTP_CLIENT_IP"]; }elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ // Check for the Proxy User $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; }else{ $ip = $_SERVER["REMOTE_ADDR"]; } return $ip; }
Pour connaitre le navigateur de l'utilisateur :
https://www.php.net/manual/en/function.get-browser.php#101125
function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT']; $bname = 'Unknown'; $platform = 'Unknown'; $version= ""; //First get the platform? if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; } elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; } elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; } // Next get the name of the useragent yes seperately and for good reason if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; } elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; } elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; } elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; } elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; } elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; } // finally get the correct version number $known = array('Version', $ub, 'other'); $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1) { //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; } else { $version= $matches['version'][1]; } } else { $version= $matches['version'][0]; } // check if we have a number if ($version==null || $version=="") {$version="?";} return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); }
Et pour info
getenv("HTTP_USER_AGENT")
ou
$_SERVER["HTTP_USER_AGENT"]
retournent la même chose ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
un immense merci jordane pour ce morceau de code
mais j essaye de récupérer en écriture les variables afin de les écrire dans le fichier texte
$u_agent,
$bname,
$version,
$platform,
$pattern
mais sans succès l emplacement ou elles devraient s écrire restent vide
mais j essaye de récupérer en écriture les variables afin de les écrire dans le fichier texte
$u_agent,
$bname,
$version,
$platform,
$pattern
mais sans succès l emplacement ou elles devraient s écrire restent vide
je comprendre
je devais ajouter ceci
avec chrome cela fonctionne par contre avec internet explorer j ai ceci
Your browser: Unknown ?
je devais ajouter ceci
// now try it $ua=getBrowser(); $yourbrowser= "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent']; print_r($yourbrowser);
avec chrome cela fonctionne par contre avec internet explorer j ai ceci
Your browser: Unknown ?
merci pour la reponse
en fait je compte mettre ce morceau de code sur chacune de mes pages importante et dont je veux voir qui vient les voirs
donc je désire que tout les navigateurs ou du moins les plus importants puissent me retourner quelque chose
idem pour le système d exploitation
en fait je compte mettre ce morceau de code sur chacune de mes pages importante et dont je veux voir qui vient les voirs
donc je désire que tout les navigateurs ou du moins les plus importants puissent me retourner quelque chose
idem pour le système d exploitation