在以下情况下会发生什么:
在后端,管理员上传了许多(大(文件,将它们划定,导致example.zip
。
在某个时刻,访问者来到网站并开始下载此大文件。管理员添加了更多文件,并按下"转换为zip"。它开始拉链,结果写入同一位置,同名example.zip
。
用户下载50%,新的邮政编码会干扰吗?我知道PHP脚本已加载到内存中,但是如果您有大文件,那些don't Fit。
// OPENING THE FILE IN READ-ONLY
$fp = fopen($filepath, "r");
$bufferlength = 1024;
while (!feof($fp) ){
// READ A BUFFER SIZE OF THE FILE
$buffer = fread($fp, $bufferlength);
echo $buffer;
$buffer = "";
flush(); // THIS IS ESSENTIAL FOR LARGE DOWNLOADS
}
fclose($fp);
虽然我仍然不知道我的问题的答案,但我确实知道删除的文件不实际上,在使用时会被删除,直到不再使用它。
这意味着,当用户下载大文件并删除admin时,它将继续为下载用户提供,但会显示为所有其他用户。
在这种情况下,我创建了一个downloadZip.php
,单击时,它可以为您提供zip的最后版本。当管理员重新汇总所有内容时,它将导致name2.zip
,然后是name3.zip
等。
USERA点击下载,获取name1.zip
。管理员删除,USERA不受影响,用户B现在单击downloadZip.php
时将获得name2.zip
。