Php 应用程序/八位字节流块浏览器
我已经编写了一个小型下载门户,我使用application/octetstream下载文件Php 应用程序/八位字节流块浏览器,php,download,Php,Download,我已经编写了一个小型下载门户,我使用application/octetstream下载文件 function fu($filename) { header("Content-Type: application/octet-stream"); $save_as_name = basename($filename); header("Content-Disposition: attachment; filename=\"$save_as_name\"");
function fu($filename)
{
header("Content-Type: application/octet-stream");
$save_as_name = basename($filename);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");
readfile($filename);
}
下载大文件时,在下载完成之前,无法浏览目录树
是否有机会并行执行此操作?您可能正在使用会话。当您在窗口a中打开一个会话,而该会话正忙于服务于下载窗口时,B将无法获取任何页面,因为服务于a的PHP进程仍然打开/锁定会话数据,而B正在等待释放该锁
简单的解决方案是在调用
readfile()
之前的某个时间点调用。这将把会话提交到服务器上的磁盘上,关闭它,然后释放锁,以便其他PHP进程可以将其恢复。您在服务器上还是在客户端浏览目录树?这是一个单独的PHP网站,它使用readdir()查看目录树。您使用会话吗?用于哪种用途?一般来说:是的,我知道你在运行下载时是否打开了一个会话?如果是的话,在那种情况下你能不打开一个吗?会话打开的脚本正在阻止Hi Sammitch,谢谢您的回答。我将在周末测试session_writed_close(),并给您反馈。