我正在使用PHP中生成的符号链接(symbolic link)。它们是在有人请求下载时生成的,我希望它们在每天结束时过期。
问题是,如果有人在一天结束前1分钟开始下载符号链接(symbolic link),然后在他们下载符号链接(symbolic link)时将其删除,该怎么办...
我的问题是,据您所知,在我删除符号链接(symbolic link)之前,个人下载该符号链接(symbolic link)是否仍然可以“下载”该文件?我不担心“断点续传”功能。但是它会使下载停止或以某种方式中断吗?
最佳答案
是的,您可以这样做。
在类似UNIX的系统(包括Linux)上,您不会删除文件。您删除文件名。如果您删除了其他人当前已打开的文件,则文件名将消失,但数据将保留在磁盘上,直到关闭该文件。
使用符号链接(symbolic link)更是如此:如果删除符号链接(symbolic link),则文件数据仍然存在,并且打开文件的任何进程都通过文件句柄而不是文件名引用它。
因此,只要您在脚本打开文件后删除符号链接(symbolic link),下载过程就不会有任何麻烦。
关于php - 删除临时符号链接(symbolic link)是否会中断当前对该符号链接(symbolic link)的下载/访问?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2994893/