Maison  >  Article  >  développement back-end  >  Comment obtenir la taille de la partition de disque via la fonction du système de fichiers PHP

Comment obtenir la taille de la partition de disque via la fonction du système de fichiers PHP

黄舟
黄舟original
2017-05-20 16:56:283003parcourir

Comment obtenir la taille de la partition de disque via la fonction du système de fichiers PHP

Non seulement vous pouvez exploiter des répertoires et des fichiers via les fonctions du système de fichiers, mais vous pouvez obtenez également des informations relatives aux fichiers, puis s'il est possible d'obtenir la taille de la partition du disque !

La fonction disk_total_sapce() est utilisée pour obtenir la taille de la partition de disque, et la fonction disk_free_space() est utilisée pour obtenir l'espace restant de la partition de disque.

Fonction disk_total_space() : Obtenez la taille du disque d'un répertoire. Le format de syntaxe est le suivant :

float disk_total_space(string directory)

Cette fonction renvoie le système de fichiers ou le disque correspondant en fonction d'une chaîne de répertoire fournie. par le répertoire de paramètres Le nombre d'octets distingués.

Remarque :

Cette fonction ne peut pas agir sur les fichiers distants, et les fichiers qu'elle détecte doivent passer via l'accès au système de fichiers du serveur !

Fonction disk_free_space() : Récupère l'espace disponible d'un répertoire, le format de syntaxe est le suivant :

float disk_free_space(string directory)

Le paramètre répertoire est utilisé pour spécifier le fichier distinction système ou disque !

Explication :

Cette fonction renvoie la taille totale de la partition de disque où se trouve le répertoire Par conséquent, si vous donnez comme paramètres différents répertoires de la même partition de disque, les résultats seront exactement les mêmes !

Exemple d'application

Cet exemple utilise la fonction disk_total_space() pour obtenir la taille de la partition de disque. Le code spécifique est le suivant :

(1) Créez un fichier php, ajoutez un formulaire, définissez une zone de texte, soumettez le bouton, utilisez la méthode POST et soumettez-le à cette page.

(2) Obtenez le chemin du répertoire pour la soumission du formulaire via $_POST et déterminez d'abord si le répertoire obtenu est raisonnable. Ensuite, la chaîne obtenue est codée et convertie via la fonction iconv(), puis la chaîne obtenue est interceptée. Obtenez la partition d'arbitre où se trouve le répertoire et utilisez la fonction disk_total_space() pour obtenir la taille de la partition de disque. Enfin, utilisez la fonction opendir() et la fonction readdir() pour lire le contenu du répertoire soumis. le code est le suivant :

<form name="form1" action="6.php" method="post">
   文件名称: <input name="file_name" type="text">
           <input type="submit" name="Submit" value="提交">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");
if ($_POST[&#39;file_name&#39;]){
if($_POST[&#39;file_name&#39;]!="" && is_file($_POST[&#39;file_name&#39;])==false){
    $file_name = iconv("utf-8","gb2312",$_POST[&#39;file_name&#39;]);      // 编码格式转换
    if (file_exists($file_name)){                                  //判断目录是否存在
        $len = strripos($file_name,":");                            //截取字符串
        $dir = substr($file_name,0,$len+1);                        //获取提交目录所在磁盘
        $filesize_z = disk_total_space($dir);                       //获取目录大小
        $filesize_z = number_format($filesize_z/(1024*1024*1024),2,".","");    //数字的格式化
        $filesize_s = disk_free_space($dir);                            //获取裁判剩余空间
        $filesize_s =  number_format($filesize_s/(1024*1024*1024),2,".",""); //字节的格式化
        echo "本地磁盘(".$dir.") 总大小:".$filesize_z." GB   可用空间:".$filesize_s."GB <br><br>";
        echo $_POST[&#39;file_name&#39;]."目录下的内容:"."<br>";
        $i = 0;
        $list = opendir($file_name);                                //打开目录
        while($read_list = readdir($list)){                         //读取目录
            $i++;
            echo "$i:".iconv("gb2312","utf-8",$read_list)."<br>";   //输出目录中的内容
        }
        closedir($list);                                            //关于目录
    }else{
        echo "<script>alert(&#39;目录不存在!&#39;);</script>";
    }
}else{
    echo "<script>alert(&#39;请输入正确的目录路径!&#39;);</script>";
}
}

Les résultats de sortie ci-dessus sont les suivants :

Comment obtenir la taille de la partition de disque via la fonction du système de fichiers PHP

Explication :

La fonction strripos( ) est utilisée pour déterminer la dernière position d'une chaîne spécifiée dans une autre chaîne. Grâce à cette fonction, vous pouvez obtenir la dernière position de la chaîne spécifiée A dans une autre chaîne B. La valeur de retour est de type int. Sur la base de la valeur de retour, la chaîne B peut être interceptée en utilisant la chaîne A comme point de division. La fonction doit être appliquée lors de l’exécution d’opérations d’interception.

$len = strripos($file_name,":");                            //截取字符串
$dir = substr($file_name,0,$len+1);                        //获取提交目录所在磁盘

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