FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 29 juillet 2013 

 
OuvrirSommaireFichiers et dossiersCréation / suppression de fichier

La fonction touch($nom_fichier) permet de créer le fichier portant le nom $nom_fichier, s'il n'existe pas déjà. Si un fichier du même nom existe déjà, alors sa date de dernière modification sera modifiée en la date actuelle.

Mis à jour le 5 août 2008  par Cyberzoide

Un fichier de log sert à garder trace des erreurs survenant dans une application PHP. Par exemple, lorsque survient une erreur, en plus d'afficher à l'écran un message d'erreur, on peut enregister quelques informations dans un fichier. Ce fichier pourra être lu régulièrement par un administrateur ou même par une application.

A chaque instance d'erreur correspond une ligne dans notre fichier. Il sera naturellement ordonnée selon la date : on rajoute les lignes les unes après les autres.

On convient d'un format particlulier pour nos lignes. Il est important de conserver le contexte dans lequel survient l'erreur : la date et l'heure, la page, l'identifiant de l'utilisateur connecté... Par exemple le schéma suivant : <comment>date et heure \t identifiant de l'utilisateur \t page \t description de l'erreur</comment>

Le caractère spécial \t représente une tabulation : nos champs seront donc séparés par une tabulation.

Ainsi à chaque erreur, on appelle la fonction suivante : error_log().

 
Sélectionnez
function error_log($desc) {
    global $ERROR_FILE, $visitor;
    /* ligne à écrire */
    $ligne = date('Y-m-d H:i:s')."\t".$_SERVER['PHP_SELF']."\t".$visitor->get_login()."\t$desc";

    /* ouverture du fichier de log, le mode "a+" permet d'écrire à la fin */
    if($fp = fopen($ERROR_FILE, "a+")) {
        /* écriture de la ligne à concurrence de 1024 caractères */
        fwrite($fp, $ligne, 1024);
        /* fermeture du fichier */
        fclose($fp);
    }
}

On suppose que les informations sur l'utilisateur connecté sont accessibles via un objet de session $visitor, dont la méthode get_login() retourne l'identifiant. La variable $_SERVER['PHP_SELF'] contient le nom de la page en cours. On pourrait la completer par $_SERVER['QUERY_STRING'] afin de connaître le détail des paramètres passés au script...

Note : ne pas gérer les erreurs qui peuvent survenir dans la fonction de gestion des erreurs !

Mis à jour le 5 août 2008  par Cyberzoide

La fonction unlink() permet de supprimer un fichier. Elle retourne TRUE si succès, FALSE sinon.

 
Sélectionnez
if (unlink("images/logo.png")) {
    echo "ok";
} else {
    echo "erreur!";
}

Contrairement à ce qui est indiqué dans la documentation, le fonction "unlink" fonctionne sous Linux et Windows.

Mis à jour le 5 août 2008  par Cyberzoide

Pour supprimer massivement des fichiers on utilise le code suivant :

 
Sélectionnez
foreach(glob("*") as $fichier)  // * indique qu'aucun filtre n'est effectué
{
  @unlink($fichier);
}

La fonction glob() recherche et retourne un tableau contenant tous les fichiers du dossier

Avec la même fonction, on peut également supprimer des fichiers en précisant leur extension.
Exemple :

 
Sélectionnez
foreach (glob("*.jpg") as $fichier) //Recherche tous les fichiers image jpg
{
  @unlink($fichier);
}
Mis à jour le 5 août 2008  par Forum PHP, Kerod

Lien : Comment supprimer un fichier ?

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.