下面是一个计算文件夹下面所有文件及文件夹大小的程序,我让它计算文件夹‘znb1’的大小,此文件夹下面
的结构为
znb1/.buildpath,
znb1/.project,
znb1/223/s.php,
znb1/settings/newfile.php,
znb1/settings/org.eclipse.php.core.prefs
程序运行后只计算出znb1/.buildpath和znb1/.project两个文件的大小
这是为什么?我用的软件为wampserver和editplus程序如下:
function dirsize($dirname) {
$dir = opendir ( $dirname );
while ( ($file = readdir ( $dir )) !== FALSE ) {
$filename=$dirname.'\\'.$file;
if ($file != '.' && $file != '..') {
if (is_dir ( $file )) {
$count += dirsize ( $file );
} else {
$count += filesize($filename);
}
}
}
return $count;
}
echo dirsize ( 'znb1' );
?>
回复讨论(解决方案)
if (is_dir ( $filename )) {
如果是$file,那么对于这个相对路径,将在当前目录下寻找。未找到自然报false
必须带上路径!
if (is_dir ( $filename )) {
$count += dirsize ( $filename );
set_time_limit(0);
function dirsize($dirname) {
if (is_dir($dirname)) {
$dir = opendir ($dirname);
if ($dir != false) {
while ( ($file = readdir ($dir)) !== FALSE ) {
$filename = $dirname.'\\'.$file;
if (is_file($filename)){
$count[] = filesize($filename)."@".$filename;
} else if (is_dir($filename)){
if ($file != "." && $file != "..") {
dirsize($filename);
}
}
}
}
return $count;
} else {
return false;
}
}
$path = "D:\APMServ5.2.6\www\htdocs\localhost";
$c = dirsize($path);
var_dump($c);
+-----------------------------------------------------------------+
修改了一下,可以计算了,相对路劲没测试过!参考下吧!
给你一个我写的遍历文件夹的函数
你可以参考一下: http://www.bacysoft.cn/thread-77-1-1.html

ThesecrettokeepingaPHP-poweredwebsiterunningsmoothlyunderheavyloadinvolvesseveralkeystrategies:1)ImplementopcodecachingwithOPcachetoreducescriptexecutiontime,2)UsedatabasequerycachingwithRedistolessendatabaseload,3)LeverageCDNslikeCloudflareforservin

You should care about DependencyInjection(DI) because it makes your code clearer and easier to maintain. 1) DI makes it more modular by decoupling classes, 2) improves the convenience of testing and code flexibility, 3) Use DI containers to manage complex dependencies, but pay attention to performance impact and circular dependencies, 4) The best practice is to rely on abstract interfaces to achieve loose coupling.

Yes,optimizingaPHPapplicationispossibleandessential.1)ImplementcachingusingAPCutoreducedatabaseload.2)Optimizedatabaseswithindexing,efficientqueries,andconnectionpooling.3)Enhancecodewithbuilt-infunctions,avoidingglobalvariables,andusingopcodecaching

ThekeystrategiestosignificantlyboostPHPapplicationperformanceare:1)UseopcodecachinglikeOPcachetoreduceexecutiontime,2)Optimizedatabaseinteractionswithpreparedstatementsandproperindexing,3)ConfigurewebserverslikeNginxwithPHP-FPMforbetterperformance,4)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6
Visual web development tools

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

WebStorm Mac version
Useful JavaScript development tools
