Que pensez vous de mon fichier
Résolu/Fermé
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
-
1 mai 2021 à 11:31
flexi2202 Messages postés 3765 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 4 octobre 2023 - 1 mai 2021 à 17:18
flexi2202 Messages postés 3765 Date d'inscription lundi 14 mars 2011 Statut Membre Dernière intervention 4 octobre 2023 - 1 mai 2021 à 17:18
A voir également:
- Que pensez vous de mon fichier
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Ouvrir fichier .bin - Guide
- Comment réduire la taille d'un fichier - Guide
8 réponses
jordane45
Messages postés
37851
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2023
4 610
1 mai 2021 à 11:53
1 mai 2021 à 11:53
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.
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
178
1 mai 2021 à 12:08
1 mai 2021 à 12:08
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
jordane45
Messages postés
37851
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2023
4 610
1 mai 2021 à 12:20
1 mai 2021 à 12:20
oui
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
178
1 mai 2021 à 12:31
1 mai 2021 à 12:31
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."; } ?>
jordane45
Messages postés
37851
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2023
4 610
1 mai 2021 à 12:43
1 mai 2021 à 12:43
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
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
178
1 mai 2021 à 13:10
1 mai 2021 à 13:10
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
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
178
Modifié le 1 mai 2021 à 13:25
Modifié le 1 mai 2021 à 13:25
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 ?
jordane45
Messages postés
37851
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
1 décembre 2023
4 610
1 mai 2021 à 14:03
1 mai 2021 à 14:03
Tu utilises Internet explorer où edge ?
Il se peut qu'il faille rajouter un peu de code dans la fonction pour prendre en compte ce dernier.
Il se peut qu'il faille rajouter un peu de code dans la fonction pour prendre en compte ce dernier.
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
178
1 mai 2021 à 15:24
1 mai 2021 à 15:24
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
flexi2202
Messages postés
3765
Date d'inscription
lundi 14 mars 2011
Statut
Membre
Dernière intervention
4 octobre 2023
178
Modifié le 1 mai 2021 à 17:18
Modifié le 1 mai 2021 à 17:18
apparemment il faudrait ajouter Trident dans les conditions
et donc ajouter ceci
juste que la reponse est ceci avec le 7.0 alors que je suis en version 11
Your browser: Internet explorer 7.0
et donc ajouter ceci
elseif(preg_match('/Trident/i',$u_agent)) { $bname = 'Internet explorer'; $ub = "Trident"; }
juste que la reponse est ceci avec le 7.0 alors que je suis en version 11
Your browser: Internet explorer 7.0