Archives de la catégorie Fonctions Sympas
Twitter, Avez-vous votre robot ?
Posté par admin dans Fonctions Sympas le 4 mars 2010
Voici une petite fonction sympa pour Twitter Aléatoirement un message… Vos messages sont soit dans un tableau ( Array ) soit seul ( $message = »toto »;
La fonction s’occupe d’elle même de transformer un message seul en tableau :
/**
* alea_twitter_post
* Envois aléatoirement un Twitt
* contenu dans un Array()
*
* @param string $login,$mot_de_passe
* @param array $messages
* @return $reponse|true ou false
*/
function alea_twitter_post($login, $mot_de_passe, $messages){
if (!is_array($messages)){
$messages = array($messages);
}
$message = $messages[array_rand($messages)];
$url = 'http://twitter.com/statuses/update.xml';
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, "$url");
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
curl_setopt($curl_handle, CURLOPT_USERPWD, "$login:$mot_de_passe");
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (!empty($buffer)){
$reponse = TRUE;
}else{
$reponse = FALSE;
}
return $reponse;
}
On peut ensuite tester ainsi:
//TEST
$login = "VotreLogin";
$pass = "VotreMotDePasse";
$messages = array("Message 1","message 2","message 3","etc...");
// ou tout simplement $messages = "Un petit dernier pour le e-commerce et pokerice";
if (alea_twitter_post($login, $pass, $messages) != FALSE){
echo "Twitt Posté";
}
Rapide et éfficace, il ne reste plus qu’a en faire un Cron, charger des messages en Bdd, ou encore faire appeler cette fonction par image par vos visiteurs…
A vos commentaires
Où sont les Bots ?
Posté par admin dans Fonctions Sympas, Fonctions Utiles En Php le 25 février 2010
Une petite fonction sympa pour surveiller les Bots ( save en BDD ou cloaking )
L’interêt de cette fonction et de pouvoir traiter des tableaux multiples en redéfinissant des plages d’ip éventuelles des Robots ou tout autre recherche que vous souhaiteriez traquer
/**
* Is_bot
* traque la présence d'un bot par plage d'ip
*
* @param string $ip
* @param array $array_bots
* @return string|false
*/
function is_bot ($ip,$array_bots) {
$ip = strval($ip);
$reponse = false;
foreach($array_bots as $bot=>$val) {
foreach($array_bots[$bot] as $ip_bot) {
$reponse = strpos($ip,$ip_bot);
if ($reponse !== FALSE) return $bot;
}
}
return $reponse;
}
Utilisation:
$bots = array(
'google' => array('216.239.46','64.68.8','66.249.','64.233.173'),
'yahoo' => array('66.196.','68.142.','202.165.','66.142.')
);
$test = is_bot('216.239.46.654',$bots); //renverra TRUE car 216.239.46 est présent dans l'ip
if($test != FALSE) {
//action affichage bot ou cloaking
$bot = $test;
echo "bot présent<br/>";
echo $bot;
} else {
echo "pas de bot";
}
Le code vous retourne donc un true ou false avec possibilité de reprendre le nom du bot.
Les Commentaires