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. suit : (Apprentissage recommandé : Programmation PHP du débutant à compétent)
echo filesize("upload.php");
Renvoie le nombre d'octets de la taille du fichier Si une erreur se produit, il renvoie FALSE et génère un. Erreur de niveau E_WARNING.
Remarque :
Étant donné que le type entier de PHP est un entier signé et que de nombreuses plates-formes utilisent des entiers 32 bits, pour les fichiers de plus de 2 Go, certains fichiers les fonctions système peuvent renvoyer des résultats inattendus.
Accès via le navigateur, le résultat de sortie est le suivant :
Comme vous pouvez le voir sur l'image ci-dessus, la taille du fichier que nous produisons directement est de 1614 octets, et la taille du fichier vue dans l'attribut upload.php est également 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 du package PHP pour obtenir la méthode de 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 de la taille de la section du fichier upload.php, puis créez une méthode nommée filesize. Cette méthode 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. Le résultat de l'accès à php via le navigateur pour obtenir la taille du fichier est comme indiqué ci-dessous
<.>
Comme le montre l'image ci-dessus, 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 obtenir avec succès la taille normale du fichier. déposer. 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.
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!