我是PHP的新手,很抱歉,这个问题听起来很愚蠢。
我想知道当上传文件夹大小(不是文件大小)超过10 GB时,是否有办法通过PHP限制文件上传。如果有办法,你可以请我提供一个如何实现这一目标的概念。
我目前正在使用POST上传文件,上传文件夹位于Hostgator服务器上。
谢谢!
答案 0 :(得分:0)
类似的问题已经回答here。只需检查目录大小,然后再将临时文件移入其中。你需要linux的答案,而不是windows的答案。
答案 1 :(得分:0)
以下代码将计算文件夹中所有文件的总大小,从而为您提供文件夹总大小
<?php
$path = "gal";
echo "Folder $path = ".filesize_r($path)." bytes";
function filesize_r($path){
if(!file_exists($path)) return 0;
if(is_file($path)) return filesize($path);
$ret = 0;
foreach(glob($path."/*") as $fn)
$ret += filesize_r($fn);
return $ret;
}
?>
然后,您可以在上传之前构建一个if语句来检查文件大小,如果大于10gb,则提醒用户无法处理上传。
修改强>
IF语句看起来像这样
$filesize = filesize_r($path)
if $filesize > 10 000 000 000 {
echo "Upload cannot be processed";
} else {
uploadFile()
}
答案 2 :(得分:0)
首先检查目录大小,如this。
然后检查文件大小:
$file_size = $_FILES['file']['size'];
然后检查文件是否适合并采取相应措施:
if (foldersize($path) + $file_size > "10000000000")
{
Tell user it doesn't fit
}
else
{
Upload file function
}