我受委托创建一个网站,但其中一个要求让我感到疯狂。
我必须创建(或找到)基于php的脚本,允许用户登录域,上传html文件(+图像或音频文件)并指定日期,此时html页面将可以访问吗?例如。这是为了允许用户在去度假之前上传多个文件,以便在没有用户与域交互的情况下在正确的上传日期自动发布它们。
一旦页面可用,我很有可能同时使用ajax对mysql数据库进行搜索索引。
我知道如何创建php脚本,'将文件上传到tmp目录',但我不知道如何根据日期/时间发出命令将它们移动到正确的目录中。请指教。
服务器将是Ubuntu-Server或基于CentOS。
答案 0 :(得分:1)
如果您的服务器支持cron,您可以设置一个简短的bash脚本来将文件列表(作为参数)复制到该目录。
或者,如果站点将获得常规命中,则可能更简单的是使用PHP函数来检查每次访问页面时是否需要复制任何文件。为了速度和简单性,您可以检查最后一个副本的时间,如果超过24小时,则执行更复杂的操作,例如检查文件列表并移动它们。
编辑: 我忘了提到(我不确定你有多少经验,如果这很明显就道歉!),当你上传文件时,你想要在数据库中存储一些东西,比如“file,date_to_move,completed “,其中file是文件名,date_to_move将是移动和完成日期的mysql时间戳是一个布尔值,因此你可以减少潜在的查询结果,即:
SELECT * FROM my_table WHERE CURRENT_TIMESTAMP() > date_to_move AND completed = 0
然后,您将在成功移动时更新表,以便所有已移动的文件都已完成=。
答案 1 :(得分:1)
我会假设:
1.每个用户都有一个特定的文件夹;
2.在数据库中至少会有一个用户和日期/时间存活的记录;
你可以这样做:
当用户上传文件时,您可以立即将其移动到他的文件夹中 如果它是第一个提交的文件,则在用户文件夹内创建一个文件index.php,它将检查请求的时间是否比数据库中的记录更大。如果是,请将浏览器重定向到html文件(或其他内容) 确保用户上载的文件未命名为index.php。如果是,请将其他文件重命名为其他内容,并在生成的索引中重定向到新名称。