首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用html 5或php操作服务器上的文件

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

Stack Overflow用户
提问于 2013-06-06 07:16:30
回答 1查看 284关注 0票数 0

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

当前使用案例:

员工使用scp将大型(2GB+)文件发送到我们的LAMP服务器。

员工ssh进入web服务器

员工将文件移动到web目录内的新文件夹中

员工在文件夹上运行chmod

员工使用客户姓名和随机密码创建.htaccess文件

员工计算出新创建的文件夹的公共url,并通过电子邮件将链接发送给客户。

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

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

有关我尝试实现的内容的示例,请参阅https://letscrate.com/

不幸的是,由于公司政策,letscrate.com,dropbox和google drive不能用于共享大文件。

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

我的问题是:

在服务器上有了大文件后,如何将该文件移动到web目录并设置.htaccess文件?

我正在考虑运行一个cron作业,定期将文件移动到web根目录并配置.htaccess文件,但我不希望在服务器上运行任何额外的服务/ cron-tasks。

仅仅通过php,html5,javascript就可以做到吗?

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

EN

回答 1

Stack Overflow用户

发布于 2013-06-06 07:37:09

我的第一反应是:

  • 进行管理,让用户上传文件(普通文件上传、flash文件上传或HTML5,无关紧要)。
  • 然后将文件存储在www-root之外(不能直接访问文件)。
  • 允许用户为该文件添加用户名/密码并为该文件生成唯一的ID/密钥。(数据库列: id、文件名、用户名、密码和可以发送给客户端的用户的完整url。
  • 当客户加载时:mydomain.com/ url_key).
  • Present /

_generated_ url _

  • ,您将从url中获取密钥(如果存在),并提示登录框,您将根据数据库对其进行身份验证。

然后,您只需执行以下操作:

代码语言:javascript
复制
echo file_get_contents(path_to_the_real_file);

当然,使用正确的标头,这取决于文件类型。

就像评论说的那样。不要让PHP搞乱.htaccess,或者让用户直接使用SFTP到服务器。

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

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16951397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档