Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo
Sommaire > Fichiers et dossiers > Propriétés des fichiers
        Comment obtenir la taille en Ko d'un fichier ?
        Comment obtenir le poids d'un fichier distant ?
        Comment récupérer le type d'un fichier ?
        Comment obtenir/modifier la date d'un fichier ?



Comment obtenir la taille en Ko d'un fichier ?
auteur : Cyberzoide
$file = "monfichier.txt";
if(file_exists($file)) {
    echo round(filesize($file)/1024);
}
La fonction file_exists() teste l'existence d'un fichier (important avant toute manipulation). La fonction filesize() retourne la taille en octets d'un fichier, FALSE sinon. La fonction round() arrondi un nombre à l'entier le plus proche.

Comme 1 Ko = 1024 octets (en base 2, binaire), on divise la taille par 1024 pour l'avoir en ko.


Comment obtenir le poids d'un fichier distant ?
auteur : Cyberzoide
La fonction filesize() permet d'obtenir le poids d'un fichier local, mais cette fonction ne fonctionne pas sur les fichiers distants.

Il va donc falloir passer par la fonction fopen(), si tant est que le support des gestionnaires d'URL ("URL fopen wrapper") soit activé dans le fichier de configuration php.ini.

On va donc ouvrir le fichier, le lire en entier et en compter la taille.
<?php 
$buffer = '';
if($fd = fopen ("http://www.monsite.com/images/avatar.gif", "r")) {
    while (!feof($fd)) {
        $buffer .= fgets($fd, 4096);
    }
    fclose ($fd);
}
$size = strlen($buffer);
?>

Comment récupérer le type d'un fichier ?
auteur : Forum PHP
Cette information est envoyée par le navigateur, PHP la récupère dans la variable $_FILES mais elle n'est pas fiable (puisque transmise par le client), l'utiliser serait donc une grave erreur de sécurité.

La fonction mime_content_type() retourne le type MIME d'un fichier en se basant sur les informations présentes dans le fichier magic.mime. Elle est cependant dépréciée au profit de l'extension PECL fr Fileinfo :
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic");

echo $finfo->file('image.jpg'); //Affiche image/jpeg 
echo $finfo->file('archive.zip'); //Affiche application/x-zip

$finfo->close();
lien : faq http://php.developpez.com/faq/tmp/bibliotheques-extensions/?page=divers#extension_installer

Comment obtenir/modifier la date d'un fichier ?
auteur : Forum PHP
fileatime() et filemtime() sont des fonctions qui permettent obtenir de manière précise la date de dernier accès pour l'une et de dernière modification pour l'autre. En cas d'erreur, elles retourneront FALSE.
Affichage de la date à laquelle le fichier a été affiché

echo 'Dernier affichage du fichier : ' . date("d M Y",fileatime("test.php")); 
//Affiche Fri Aug 2006, dernière date d'accès au fichier test.
Affichage de la date à laquelle le fichier a été modifié

echo 'Dernière modification du fichier : ' . date("d M Y",filemtime("test.php")); 
//Affiche Fri Aug 2006, dernière date de modification du fichier test.
Pour modifier cette date, on utilise la fonction touch() qui tente de forcer la date de modification du fichier désigné à la date de spécifiée.
Tentative de modification de la date du dernier accès à un fichier

touch("test.php", time(), mktime(0,0,0,1,20,2006)); //Modifie la date du dernier affichage (accès) au 20 janvier 2006
echo date("d M Y",fileatime("test.php"));  //Affiche 20 Jan 2006


Consultez les autres F.A.Q.


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  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'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com