php

Vérifier si une requête est en AJAX

Il peut être utile pour des raisons de sécurité par exemple de vérifier si une requête php est en AJAX.

Voici comment faire :

if (array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
	// Traitement pour une réponse Ajax
}
Vérifier si une requête ajax est en php

Lister toutes les propriétés d’un objet PHP

get_object_vars : Lister les propriétés d’un objet

Il peut être utile de lister l’ensemble des membres d’un objet en php
Une fonctions permet de faire cela en toute simplicité : get_object_vars

Un exemple de mise en pratique :

Mise session des différentes propriétés d’un objet :

<?php                    foreach(get_object_vars($oObject) as $key=>$val){
      $_SESSION[$key] =  $val;    
    }
?>
Mise en sessions

 

 

 

PHP récupérer l’ip du visiteur

Bien qu’il soit facile pour un internaute de masquer son ip tel qu’elle est vue par la navigateur, via un proxy web par exemple voici une fonction ira chercher l’ip la plus juste possible. La meilleur solution reste encore  de consulter les logs apache.

//-- Fonction de récupération de l'adresse IP du visiteur
function get_ip()
{
if ( isset ( $_SERVER['HTTP_X_FORWARDED_FOR'] ) )
{
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif ( isset ( $_SERVER['HTTP_CLIENT_IP'] ) )
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}

Chaine utf-8 et ucfirst

En php les complications ne manquent pas lorsque l’on veut manipuler des chaîne de caractères.

Si vous souhaitez mettre la première lettre en majuscule pour une chaine en UTF-8 voici le bout de code qui vous aidera.

<?php

echo ucfirst(mb_strtolower($machaine,’UTF-8‘));

?>

vider cache dns

Comment Vider le cache DNS ?

Le cache DNS kesako ?

Quand vous allez sur un site internet votre ordinateur garde en mémoire les ip dns (Domaine Name Server) afin que de votre prochaine visite il interroge directement le bon serveur et ainsi réduit le temps d’affichage de la page.

Pourquoi est-ce que je voudrai vider mon cash dns alors ?
Il peut être utile de vider se cache dns dans le cas d’un site qui aurai changé d’ip et vous ne pouvez pas attendre la diffusion de ses nouveaux DNS.

A chaque Os sa solution :

Vider le cache DNS sous windows :
Lancez Votre invité de commande :

Démarrer -> Exécuter -> tapez CMD

Dans la fenêtre DOS qui s’affiche tapez

ipconfig /flushdns

Vider le cache DNS sous Linux:
Il suffit de relancer le processus nscd

/etc/rc.d/init.d/nscd restart

Vider le cache DNS sous Mac OS X:
Lancez un terminal :
Sous Léopard

dscacheutil -flushcache

Sinon

 lookupd -flushcache
csv[1]

Créer un fichier d’export en php (csv)

Il existe différent formats standardisés pour l’export.

Nous verrons dans ce post le format CSV (Comma separated values « Données séparées par des virgules »)

Deux cas :

Le premier étant de faire télécharger la sauvegarde à l’internaute ainsi il faudra préciser au navigateur  via le header qu’il va envoyer un fichier de type csv (compatible microsoft excel)

header("Content-type: application/vnd.ms-excel");

Il resta à donner un nom pourquoi pas le nommer avec la date dans le cas d’un export quotidien.

header("Content-disposition: attachment; filename=\"export".date("d").date("m").date("Y").".csv\"");

Le 2 ème cas étant d’enregistrer le fichier d’export directement sur le serveur

Pour cela vous pouvez par exemple utiliser file_put_contents

file_put_contents("path/".date("d").date("m").date("Y").".csv", $contenu);

Et enfin le contenue, il suffit de séparer les colonnes par des « ; » et les ligne par des \r\n. En respectant ces quelques consignes vous pourrez exporter une fichier compatible avec Microsoft excel.