47 private links
Une liste de 63 (!) bonnes pratiques en PHP pour améliorer les performances de votre script !
Par exemple, utiliser @ devant l'appel d'une fonction (afin de masquer les erreurs) est TRÈS lent !
En PHP, il y a plusieurs moyens pour lire et écrire dans un fichier (fopen). De même pour en compresser son contenu (gzcompress).
Seulement, vous pouvez vous simplifier la vie en utilisant UNE seule instruction pour stocker du contenu sous forme compressée :
file_put_contents("compress.zlib://$filename", $content);
Ensuite, pour lire ce fichier compressé, UNE instruction également :
$content = file_get_contents("compress.zlib://$filename");
"compress.zlib://" est en fait ce qu'on appelle un wrapper ; il en existe plusieurs autres en PHP. Celui-ci permet de dire que le fichier sera compressé grâce à la bibliothèque Zlib.
ATTENTION : avec file_get_contents(), si la lecture échoue, il renvoie le booléen "false" ! Or, il est indispensable de bien tester le retour à l'aide de l'égalité de type (=== ou !==), car si le fichier contient, par exemple, 0 et que vous testez avec l'égalité simple (== ou !=), alors il considérera que c'est faux, donc que la lecture a échoué ! C'est normal : 0 == false (même valeur) mais 0 !== false (pas le même type) !
Donc il faut tester comme suit : if ($content !== false) { //OK, do something... }
21 snippets PHP bien pratiques.
Quelques smilies en Unicode pour embellir vos messages ;-)
Horrible, mais drôle !
En PHP, si vous devez vérifier si une chaîne contient certains mots, le mieux est d'utiliser la fonction strpos() comme suit :
if (strpos($string, 'mot1') !== false || strpos($string, 'mot2') !== false) { ... }
Plutôt que les expressions rationnelles, avec preg_match() :
if (preg_match("/(mot1|mot2)/i", $string)) { ... }
Il se trouve que strpos est BEAUCOUP plus rapide que preg_match pour ce genre de tâches simples ! Gardez plutôt les expressions régulières pour des traitements plus "difficiles" ;)
Jeu du kikaleplusgros ? Impressionnant en tout cas ! Pour la modique somme de 1900€/mois, évidemment...
Première chose à faire : virer le compte admin par défaut. Ça limite grandement les risques (et utiliser un mot de passe digne de ce nom) !
Chez certains, l'âge n'a pas d'entreprise sur leur physique. Impressionnant !
Via SebSauvage.
Même les industriels de l'aéronautique font des systèmes en carton ? o_O
Si vous devez parser de l'HTML, je vous recommande vivement cette lib PHP ultra simple d'utilisation !
Trouvez tous les liens sur une page web ? Ça tient en trois lignes !
$html = file_get_html('http://www.site.com/');
foreach($html->find('a') as $element)
echo $element->href . '<br>';
Cette vidéo montre la création des chips et c'est plus intéressant qu'on pourrait le croire !
Un projet Kickstarter à suivre de près !
Si un plugin est récalcitrant, voici la solution ;)
Via SebSauvage.
facepalm
Marvel Comics offre plus de 700 comics gratuitement (en anglais) :o
Avec ZeroBin, un ancien "paste" n'est supprimé que si quelqu'un y accède après la date d'expiration. Donc si personne n'y est allé depuis son expiration, il restera en place et prendra de l'espace disque pour rien. C'est normal : ZeroBin ne fait pas de purge automatique.
Il n'y avait aucune procédure automatisée afin de supprimer les anciens éléments... du moins jusqu'à maintenant !
Ce script fait donc une purge des anciens pastes et leurs discussions associées : il suffit de mettre le fichier "purge.php" à la racine de ZeroBin et de le lancer ! Rien n'est à configurer ;)
Au passage, il affiche (sobrement) le nombre et une liste des pastes trouvés (dont ceux expirés et ceux sans expiration).
A titre d'exemple, sur mon ZeroBin (http://paste.vuilleumier.tv) avant que je ne purge, plus de la moitié des pastes étaient expirés !
Eh oui ! Aujourd'hui, notre ami SebSauvage a 40 ans !
Je lui souhaite donc par conséquent un joyeux anniversaire et tous mes voeux de bonheur pour lui et sa famille !
PS : Pardon Seb, je n'ai pas eu le temps escompté afin d'écrire un article sur mon blog, alors je me rattrape "vite fait" ici ^^'
Cette page regorge d'albums contenant des photos historiques. J'en parlais l'autre jour, voilà la page qui les recense tous !