gpt4 book ai didi

php - 使用 html 5 或 php 来操作服务器上的文件

转载 作者:行者123 更新时间:2023-11-28 22:35:51 25 4
gpt4 key购买 nike

我需要自动化和简化员工向客户发送大型文件的方式。

当前用例:

员工使用 scp 将大型 (2GB+) 文件发送到我们的 LAMP 服务器。
员工通过 ssh 连接到网络服务器
员工将文件移动到 web 目录内的新文件夹
员工在文件夹上运行 chmod
员工使用客户名称和随 secret 码创建 .htaccess 文件
员工找出新创建的文件夹的公共(public) URL 并将链接通过电子邮件发送给客户。

我已经通过 bash 脚本大大简化了这个过程,但它对员工来说仍然太耗时了。 (超过 10 分钟!)我需要制作一个简单的 html5 网页,员工可以将文件“拖放到”其中,然后接收一个他们可以发送给客户的公共(public)链接。

只有内部员工才能上传文件。员工和客户将能够下载文件。

参见 https://letscrate.com/作为我正在尝试实现的示例。

很遗憾,由于公司政策,letscrate.com、dropbox 和 google drive 不能用于共享大文件。

使用 HTML5 和这个例子:http://html5demos.com/dnd-upload我能够将大文件上传到我们的内部网络服务器。这就是我被困的地方。

我的问题是:

一旦我在服务器上有了大文件,我如何将文件移动到 web 目录并设置一个 .htaccess 文件?
我正在考虑运行 cron 作业以定期将文件移动到 Web 根目录并配置 .htaccess 文件,但我想在不在服务器上运行任何其他服务/cron-tasks 的情况下执行此操作。

仅通过 php、html5、javascript 可以实现吗?

所有员工都使用 firefox 或 chrome(不是 ie)。

最佳答案

我的第一 react 是:

  • 在允许用户上传文件的地方做一个管理员(普通文件上传、Flash 文件上传或 HTML5,都无所谓)。

  • 然后该文件存储在 www-root 之外(无法直接访问该文件)。

  • 让用户为此文件添加用户名/密码,并为文件生成唯一的 ID/ key 。(数据库列:id、文件名、用户名、密码、url_key)。

  • 向用户提供他们可以发送给客户端的完整 url。

  • 当客户加载:mydomain.com/file/the_generated_url_key 时,您从 url 中获取 key (如果存在),并提示一个登录框,您对数据库进行身份验证。

然后你只需做一个:

echo file_get_contents(path_to_the_real_file);

当然有正确的 header ,具体取决于文件类型。

正如评论所说。不要让 PHP 乱用 .htaccess,或者让用户直接使用 SFTP 访问服务器。

如果你不想让他们通过浏览器上传,你也不能真正使用 HTML5,因为它仍然是浏览器上传。让他们使用 FTP(更容易锁定他们有权访问的文件夹)并让他们从管理员选择上传的文件并设置用户名/密码并生成 URL。

关于php - 使用 html 5 或 php 来操作服务器上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16951397/

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