Faisons, encore une fois dans la simplicité !
Pour cet article nous allons utiliser la class PHPMailer.
PHPMailer est à télécharger ici : http://phpmailer.sourceforge.net
Entrons dans le vif du sujet ! Le code, il n’y a que ça de vrai (bon Ok le sexe aussi…)


Lire la suite : Envoyer des emails avec le SMTP de Gmail.

Créer des fichier au format CSV est à la porté de tout le monde ( avec un minimum de recherche sur internet ).
Par contre créer un vrais fichier Excel la c'est un peu plus difficile.
Mais Johann Hanne à trouvé la solution! Il a créer un ensemble de class nomées « writeexcel ». Comme son nom l'indique il est fait pour créer et écrire des fichiers de type Excel et cela dynamiquement avec PHP. C'est pas beau ça ;p ?


Lire la suite : Création d'un fichier Excel grâce à PHP

Je vais vous présenter un script qui va vous permettre de redimensionner ou rogner vos images à la volée, sans pour autant stocker le résultat sur le serveur! L'exemple de redimentionnement à la volé !

Ce script va comparer la hauteur et la largeur d'origine de l'image et celles que vous lui demandez.
Si l'image peut être réduite ou agrandie sans que cela ne la défome énormément, la fonction va la redimensionner.
Sinon elle va la redimensionner à sa plus grande taille (en fonction de la hauteur et largeur que vous souhaitez), puis elle va la rogner afin d'avoir la taille souhaitée!


Lire la suite : Redimensionner et rogner une image en php

A quoi cela peut-il bien servir ?

Un système de cache peut devenir utile pour :

  • Un site particulièrement visité
  • Si la base de données de votre hébergeur est lente
  • Etc

Le système de cache que je vais vous proposer est d’une simplicité et efficacité déconcertante.


Lire la suite : Système de cache rapide et simple

Voici donc un code PHP permettant de parcourir une arborescence de dossiers et fichiers en une seule fois, d'où son nom "Exploration récursive de répertoires"
Le code en lui-même n'a rien d'exceptionnel, il existe déjà depuis bien des années.
Je voulais juste (pour ceux qui ne connaissent pas cette fonction) mettre en lumière la fonction "scandir" de PHP.

Cette fonction liste l'intégralité du répertoire qui lui est passé en paramètre.
Elle a d'autres atouts comme la possibilité de scanner un répertoire sur un serveur distant en utilisant un protocole ftp ou même ftps.


Scandir dans toute sa splendeur:

array scandir ( string $directory [, int $sorting_order [, resource $context]] )

directory
Le dossier qui sera scanné.
sorting_order
Par défaut, le tri est en ordre alphabétique. Si le paramètre optionnel sorting_order est utilisé (mis à 1), alors le tri sera en ordre alphabétique inverse.
context
Pour une description du paramètre context, référez-vous à ce lien : http://fr2.php.net/manual/fr/ref.stream.php
(information issue de la doc de php)

Pour en savoir plus sur cette fonction je vous recommande ce lien: http://fr2.php.net/manual/fr/function.scandir.php


Pour ce bout de code on utilisera aussi cette fonction "realpath" qui a pour tâche de nous retourner le chemin canonique du chemin passé en paramètre.
Pour en savoir plus sur cette fonction c'est par là : http://fr2.php.net/manual/fr/function.realpath.php.

Donc voici le code, qui va aller chercher les dossiers et fichiers de manière récursive, c'est à dire qu'il va scanner l'intégralité du répertoire que vous lui passez en paramètre.

Trève de bavardage le voici !

$arborescence  = scanRecursif($baseDir);

echo $arborescence;

function scanRecursif($rep, $depth=0){
$depth++; // définit la profondeur du dossier et des fichier

$spaceDepth = makeSpace($depth); // va créer une chaîne composée de ce qui va permettre une légère indentation
$dir = scandir($rep);

if($dir){
// on traite chaque élément retourné par la fonction php scandir
foreach($dir as $f){
// on vérifit la présence de sous répertoires, par contre on ne prend pas en compte les répertoires précédents "./" et "../"
if(is_dir($rep.$f) && $f!=".." && $f!="." ){
$fileList.= $spaceDepth.'< span style="color:red; font-weight:bold;" >'.$f.'< /span >< br / >'."\r\n";
$new_dir=realpath($rep.$f); //chemin absolu du répertoire enfant
// On réitère la fonction pour aller scanner les sous répertoires.
$fileList .= scanRecursif("$new_dir/",$depth);
}

// ce traitement est effectué si la variable $f est un fichier
if(is_file($rep.$f)){
$fileList .= $spaceDepth.' < span >|_'.$f.'< /span >< br / >'."\r\n";
}
}
}
return $fileList;
}

//fonction retournant une suite d'espaces pour légèrement indenter le code de sortie
function makeSpace($depth){
$out = '';
for($x=0; $x<=$depth; $x++){
$out .= " ";
}
return $out;
}

Lire la suite : Exploration récursive de répertoires