0x00000050电脑蓝屏代码 php获取某个目录大小的代码
大致程序思想就是使用递规来计算目录占用空间多少, 然后再把这个占用空间的值写进文本文件里, 那么只要访问这个txt文件就知道占用了多少空间, 不用频繁获取而读磁盘, 节省资源. 每次用户如果上传的文件或者删除了文件, 那么又重新进行统计. 当然, 也可以把统计结果保存到数据库里.
复制代码 代码如下:
function countDirSize($dir)
{
$handle = opendir($dir);
while (false!==($FolderOrFile = readdir($handle)))
{
if($FolderOrFile != "." && $FolderOrFile != "..")
{
if(is_dir("$dir/$FolderOrFile")) {
$sizeResult += getDirSize("$dir/$FolderOrFile");
} else {
$sizeResult += filesize("$dir/$FolderOrFile");
}
}
}
closedir($handle);
return $sizeResult;
}
把字节转换为正常的K啊M啊之类的函数:
复制代码 代码如下:
function get_real_size($size) {
$kb = 1024; // Kilobyte
$mb = 1024 * $kb; // Megabyte
$gb = 1024 * $mb; // Gigabyte
$tb = 1024 * $gb; // Terabyte
if($size return $size." B";
}else if($size return round($size/$kb,2)." KB";
}else if($size return round($size/$mb,2)." MB";
}else if($size return round($size/$gb,2)." GB";
}else {
return round($size/$tb,2)." TB";
}
}
用法很简单:
复制代码 代码如下:
$size_zip=countDirSize("../zip/");
$size_zip=get_real_size($size_zip);
就这么简单了,呵呵。
复制代码 代码如下:
/**
* File: fetch user directory use size
* Author: heiyeluren
* Create: 2005-9-19 16:20
* Modifed: 2005-9-19 16:41
*/
/*** 基本函数 ***/
//计算目录大小
function countDirSize(dir)
{
handle = opendir(dir);
while (false!==(FolderOrFile = readdir(handle)))
{
if(FolderOrFile != "." && FolderOrFile != "..")
{
if(is_dir("dir/FolderOrFile")) {
sizeResult += getDirSize("dir/FolderOrFile");
} else {
sizeResult += filesize("dir/FolderOrFile");
}
}
}
closedir(handle);
return sizeResult;
}
//保存用户文件大小
function saveDirSize(userDir)
{
userDirSize = countDirSize(userDir);
if (!fp = fopen(userDir."/dir_size.txt", "w+")) {
die("Open file failed");
} else {
fwrite(fp, dirSize);
}
}
//获取用户目录的大小
function getDirSize(userDir)
{
user = addslashes(userDir);
sizeFile = userDir."/dir_size.txt";
if (!fp = fopen(sizeFile, "r") {
return 0;
} else {
dirSize = fread(fp, filesize(sizeFile));
}
return dirSize;
}
/*** 调用实例 ***/
user = "heiyeluren";
userPath = "./user/".user;
//如果用户执行了删除或者上传文件的操作就重新获取目录大小
if (action == "upload" || action == "delete") {
saveDirSize(userPath);
}
userDirSize = getDirSize(userPath)/1024;
echo "用户: ".user;
echo "占用空间: ".userDirSize;
?>
以上就介绍了0x00000050电脑蓝屏代码 php获取某个目录大小的代码,包括了0x00000050电脑蓝屏代码方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Laravel memudahkan mengendalikan data sesi sementara menggunakan kaedah flash intuitifnya. Ini sesuai untuk memaparkan mesej ringkas, makluman, atau pemberitahuan dalam permohonan anda. Data hanya berterusan untuk permintaan seterusnya secara lalai: $ permintaan-

Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Laravel menyediakan sintaks simulasi respons HTTP ringkas, memudahkan ujian interaksi HTTP. Pendekatan ini dengan ketara mengurangkan redundansi kod semasa membuat simulasi ujian anda lebih intuitif. Pelaksanaan asas menyediakan pelbagai jenis pintasan jenis tindak balas: Gunakan Illuminate \ Support \ Facades \ http; Http :: palsu ([ 'Google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

Pembalakan PHP adalah penting untuk memantau dan menyahpepijat aplikasi web, serta menangkap peristiwa kritikal, kesilapan, dan tingkah laku runtime. Ia memberikan pandangan yang berharga dalam prestasi sistem, membantu mengenal pasti isu -isu, dan menyokong penyelesaian masalah yang lebih cepat

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Alipay Php ...
