gpt4 book ai didi

php/js - 如何在页面卸载时删除文件?

转载 作者:行者123 更新时间:2023-11-30 18:25:54 25 4
gpt4 key购买 nike

我这里有一个问题,我不确定是否可行,但我想在用户离开页面时删除一个文件...我目前有一个 php 脚本(见下文 ) 处理删除文件,但我不知道如何在页面卸载时运行它?

<?php
include 'js/db/db.php';
$film = $_GET['film'];
$movie = $_GET['org_film'];
$user = $_COOKIE['user'];
$filename = "movies/".$user."/".$film.".mp4";
if (file_exists($filename)) {
unlink($filename);
header('location: storage.php');
}
else{
$filename = "movies/".$user."/".$film.".m4v";
if (file_exists($filename)) {
unlink($filename);
header('location: storage.php');
}
else{
echo " file doesn't Exist";
}
}
?>

有什么想法吗?

最佳答案

从您的代码看来,您正在创建一个临时文件,以便您可以在特定时间内向特定用户传送视频。这是一种非常低效的方法。你会过得更好:

  1. 使用您的数据库来跟踪哪些用户可以访问哪些视频,以及时长
  2. 根据对视频页面的请求,断言用户有权访问该文件,如果断言通过,则生成一个仅在短时间内有效的签名 url并且可以在视频页面中用于传送您的电影。

签名的 URL 看起来像这样:

http://path.to/your/movie.m4v?timestamp=2309583240&signature=234p9345u234234092wjdfl

其中 timestamp 是当前的 UNIX 时间戳,signature 是时间戳的 SHA1 散列和一些只有您的应用程序知道的 secret 。

Amazon S3 支持此功能 - 您还可以将电影文件存储在具有有限读取权限的 Amazon S3 上,并使用众多流行的 S3 库之一为您的用户生成限时签名 URL。

这将避免在磁盘上移动大文件的需要,从而大大提高性能。它还会更好地扩展,因为最大并发查看者将不再与磁盘大小相关联。

关于php/js - 如何在页面卸载时删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com