Vous voulez vous détendre quelques minutes ? J'ai déplacé le curveball sur g33k-zone, profitez-en !
Pour ceux qui ne le sauraient pas, curveball est un pong en 3D, avec la possibilité de donner des effets à la balle.
CrazyCat » 07/ 10/2009 15:05
Vous voulez vous détendre quelques minutes ? J'ai déplacé le curveball sur g33k-zone, profitez-en !
Pour ceux qui ne le sauraient pas, curveball est un pong en 3D, avec la possibilité de donner des effets à la balle.
CrazyCat » 05/ 10/2009 16:50
C'est toujours un casse-tête pour envoyer un email avec des pièces jointes.
Cette classe est très simple d'utilisation et possède seulement les options basiques. Elle prépare le contenu du mail et utilise simplement la fonction mail() de php pour l'expédier. Le code ne sera quasiment pas détaillé, ci-dessous vous trouverez essentiellement l'explication de l'utilisation et l'accès aux sources.
CrazyCat » 18/ 09/2009 13:46
Petite surprise en développant une requête qui fait la recherche d'un mot dans trois champs concaténés, elle ne retourne aucun résultat or le mot est bien présent dans l'un des champs. La requête est de la forme:
SELECT * FROM table WHERE CONCAT(champ1, champ2, champ3) LIKE '%mot%'
Après un petit tour dans la documentation MySQL, voici ce que l'on trouve:
CONCAT(str1,str2,...) Retourne une chaîne représentant la concaténation des arguments. Retourne NULL si un des arguments est NULL. Cette fonction peut prendre plus de 2 arguments. Si un argument est un nombre, il sera converti en son équivalent sous forme de chaîne de caractères
Pour une concaténation de champs dont certains peuvent avoir la valeur NULL, il faut employer CONCAT_WS():
SELECT * FROM table WHERE CONCAT_WS(' ', champ1, champ2, champ3) LIKE '%mot%'
CrazyCat » 06/ 09/2009 15:48
Cette classe abstraite permet de vérifier certaines assertions, ou en d'autres termes de vérifier qu'une valeur répond à une condition.
Les vérifications présentées ici sont très simples mais permettent de traiter la plupart des conditions requises pour un formulaire. Voici le détail des fonctionnalités actuelles.
CrazyCat » 29/ 08/2009 15:23
Un singleton est utilisé lorsque l'on a besoin d'une instance unique d'une classe, par exemple une connexion à une base de données.
Avec une petite astuce sur la création de votre classe, en utilisant un masque (aussi appelé pattern) de création, vous pouvez faire en sorte que l'appel d'une classe soit unique dans tout votre site.
CrazyCat » 07/ 08/2009 14:53
Alors que la fonction fgetcsv existe en PHP4 et en PHP5, la fonction fputcsv n'existe qu'en PHP5, ce qui est fort dommage lorsqu'on veut travailler avec des fichiers d'exports ou bien lorsqu'on veut avoir un script utilisable sur la plupart des serveurs sans connaitre leur version de PHP.
CrazyCat » 28/ 07/2009 22:57
Je ne vais pas me bloquer sur la version RFC d'une adresse e-mail, ni sur la vérification de son existence, mais sur une vérification syntaxique basique.
Une adresse e-mail comporte 2 parties: utilisateur et domaine.
L'utilisateur peut compporter tout les caractères alphanumériques, ainsi que le "-", le " _" et le "+" (bien que rare). Le domaine est composé de plusieurs caractères alphanumériques, ainsi que du "-", le tout suivi d'un point et de 2 à 4 caractères.
Nous pouvons donc valider la plupart des emails avec le masque suivant:
^([_a-z0-9-+.]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$
Cette expression marche dans 95% dans cas. Elle doit bien entendu être traitée de manière case-insensitive (sans tenir compte de la casse).
CrazyCat » 26/ 06/2009 12:36
Parfois, lors d'une mise à jours d'un serveur par exemple, il peut être intéressans de limiter l'accès SSH au seul utilisateur root. Pour faire cela, c'est très simple: il suffit de mettre la raison dans un fichier /etc/nologin et les autres utilisateurs se verront refuser l'accès, avec comme raison le contenu du fichier.
Pour ré-autoriser l'accès, supprimez le fichier.
CrazyCat » 26/ 06/2009 09:13
Iptables est l'interface en ligne de commande permettant de configurer Netfilter, qui est un module du noyau Linux qui offre la possibilité de contrôler, modifier et filtrer les paquets IP, et de suivre les connexions. Il fournit ainsi les fonctions de pare-feu, de partage de connexions internet et d'autorisation du trafic réseau.
Il est possible de configurer iptables pour automatiquement bloquer les adresses IP qui feraient trop de tentatives d'accès à votre serveur, un peu à la manière de fail2ban mais sans installer de module complémentaire.
CrazyCat » 05/ 06/2009 23:01
Malgré ce que j'ai pu dire précédemment, il arrive parfois que je doive adapter mes scripts pour des versions anciennes de PHP. Je suis donc obligé d'avoir une petite série de fonctions de compatibilité, que je vais vous proposer au fil de mes développements.
Les fonction json (decode et encode) ne sont natives en PHP que depuis la version 5.2, mais heureusement il y a un moyen de les rendre accessibles depuis les versions antérieures. Pour cela, il faut télécharger le package JSON-PEAR et en extraire le fichier JSON.php.
Ensuite, ce petit script vous permet de créer (si nécessaire) les fonctions:
<?php if ( !function_exists('json_decode') ){ require_once (dirname(__FILE__).'/JSON.php'); function json_decode($content, $assoc=false){ if ( $assoc ){ $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); } else { $json = new Services_JSON; } return $json->decode($content); } } if ( !function_exists('json_encode') ){ require_once (dirname(__FILE__).'/JSON.php'); function json_encode($content){ $json = new Services_JSON; return $json->encode($content); } } ?>
Bien entendu, je pars du principe que JSON.php est dans le même répertoire que le fichier de fonctions, à vous d'adapter les chemins utilisés dans require_once
« billets précédents - page 2 de 5 - billets suivants »