Maison  >  Article  >  développement back-end  >  Comment calculer la taille d'un fichier en php

Comment calculer la taille d'un fichier en php

王林
王林original
2019-09-24 13:04:418414parcourir

Comment calculer la taille d'un fichier en php

Pour ceux qui découvrent PHP, il peut être difficile d'implémenter la fonction d'obtention de la taille du fichier en PHP. Cependant, je pense que les novices pourront facilement maîtriser les connaissances importantes liées à l'obtention de la taille des fichiers avec PHP après avoir lu l'introduction de cet article !

Ci-dessous, nous utilisons des exemples de code spécifiques pour vous fournir une analyse détaillée de la façon dont PHP obtient la taille du fichier.

1. Tout d'abord, si vous avez seulement besoin d'obtenir le nombre d'octets du fichier

Vous pouvez l'obtenir directement via la fonction PHP filesize, le code est le suivant suit :

echo filesize("upload.php");

Accès via le navigateur, et le résultat de sortie est le suivant :

Comment calculer la taille dun fichier en php

Comme vous pouvez le voir sur la figure ci-dessus, la taille du fichier que nous obtenu par sortie directe est de 1614 octets, tandis qu'en téléchargement, la taille du fichier vue dans les propriétés php est de 1614 octets. Nous connaissons tous la taille du fichier. En plus d'être exprimée en octets, elle est plus communément exprimée en unités telles que Ko, Mo, Go et To.

2. Donc si nous voulons obtenir la taille du fichier et l'afficher dans un format de taille normale, comment devons-nous procéder ?

Ci-dessous, nous présentons une méthode d'encapsulation très simple pour obtenir la taille normale.

L'exemple de code spécifique de la méthode d'encapsulation PHP pour obtenir la taille normale est le suivant :

<?php
$size = filesize("upload.php");
function trans_byte($byte)
{
    $KB = 1024;
    $MB = 1024 * $KB;
    $GB = 1024 * $MB;
    $TB = 1024 * $GB;
    if ($byte < $KB) {
        return $byte . "B";
    } elseif ($byte < $MB) {
        return round($byte / $KB, 2) . "KB";
    } elseif ($byte < $GB) {
        return round($byte / $MB, 2) . "MB";
    } elseif ($byte < $TB) {
        return round($byte / $GB, 2) . "GB";
    } else {
        return round($byte / $TB, 2) . "TB";
    }
}
echo trans_byte($size);

Dans ce code, nous définissons d'abord une variable $size pour obtenir la taille en octets du téléchargement Fichier .php. Créez ensuite une méthode nommée filesize, qui est utilisée pour convertir la taille en octets dans un format de taille normale.

Tout le monde devrait savoir que les ordinateurs utilisent le mode binaire pour compter, qui est calculé sur la base de puissances de 2. 1 Ko = 2 à la 10ème puissance = 1024B ; 1 Mo = 2 à la 20ème puissance = 1024*1024B = 1024 Ko, conversion To et ainsi de suite ;

Ainsi, dans la méthode filesize, nous définissons d'abord les quatre variables $KB, $MB, $GB et $TB dans le code ci-dessus. Utilisez ensuite les instructions conditionnelles if...elseif pour déterminer progressivement la taille en octets du fichier, et utilisez la fonction PHP round pour conserver deux décimales sur la valeur de taille du fichier.

Ensuite, nous testons la méthode de taille de fichier encapsulée ci-dessus pour obtenir la taille normale du fichier. Accédez à php via le navigateur pour obtenir la taille du fichier :

Comment calculer la taille dun fichier en php.

D'en haut Comme le montre la figure, grâce à notre propre méthode de taille de fichier encapsulée, nous pouvons déjà réaliser la fonction de PHP calculant la taille du fichier et obtenant avec succès la taille normale du fichier. Certains amis ont peut-être découvert que la taille obtenue n'est pas exactement la même que la taille des propres attributs du fichier. En fait, il est tout à fait normal d'avoir une légère erreur lors de l'obtention de la taille via la méthode PHP et peut être ignorée.

Tutoriel recommandé : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn