Hey小阿悦 2015-11-21 10:24 采纳率: 0%
浏览 501

【PHP】uchome上传视频时如何得到可用空间

刚毕业工作4个多月,接触的东西不多,最近公司一个项目用到uchome,完全搞不懂哪里是哪里,想请教一下各位,在上传视频的时候怎么查询出现在用户的可用空间?

        $userid = $_POST['supe_uid'];
        $space = getspace($userid);

        $maxattachsize = checkperm('maxattachsize');//单位MB
        echo 'maxattachsize:'.$maxattachsize.'addsize:'.$space['addsize'].'attachsize:'.$space['attachsize'].'filesize:'.$FILE['size'];exit;
        if($maxattachsize) {//0为不限制
            if($space['attachsize'] + $FILE['size'] > $maxattachsize + $space['addsize']) {
                echo "剩余空间不足,上传失败";
                exit;
            }
        }

$space['addsize']好像是用户的个人额外空间,但是用户组的空间怎么查?是那个$maxattachsize么?可是这个设置成1M,它查询出来也是200M.....

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-04 20:26
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在使用uchome上传文件之前,你需要首先了解上传的文件大小是否超过了服务器的限制。这通常由你的服务器配置决定,例如maxuploadfilesizemaxattachsize等。

    要获取上传文件的总大小(包括文件本身和附件),你可以通过以下方式计算:

    // 获取上传文件的总大小(不包含附件)
    $totalSize = $FILES['file']['size'];
    
    // 计算文件本身的大小(不考虑附件)
    $fileSize = $FILES['file']['tmp_name'];
    
    // 从文件名中提取出附件名称和大小
    list($attachmentName, $attachmentSize) = explode('|', basename($file));
    
    // 如果有附件,将附件的大小添加到总大小中
    if ($attachmentSize > 0) {
        $totalSize += $attachmentSize;
    }
    
    echo "Total size: " . $totalSize . " bytes";
    

    在这个例子中,我们首先获取了上传文件的总大小,然后计算了文件本身的大小,并从文件名中提取出了附件的名称和大小。如果存在附件,我们将附件的大小也加到了总大小中。

    这样,你就可以知道当前用户是否有足够的空间来存储上传的文件了。

    评论

报告相同问题?