PHP上传和下载脚本

时间:2011-04-05 15:18:17

标签: php

首先请允许我说,我不希望任何人发布解决方案,因为我对自己的编码更加满意,所以我会很感激指导和想法。

所以我想建立一个网站,让我上传文件,存储,显示所有上传文件的列表,然后下载所选文件。

关于我如何做到这一点的任何帮助?

更详细。

第1步:

用户选择按钮上传文件。

步骤1:它显示了可以浏览本地存储文件并选择其中一个文件的窗口。

第3步:

他们点击上传。

第4步:将其存储(可能在mysql数据库中,不知道如何执行此操作)。

步骤5:用户点击“浏览上传的文件”按钮

步骤6:向用户显示所有上传文件的列表

步骤7:用户选择其中一个文件并单击下载。

我希望这更清楚

另外,我希望有人能告诉我从哪里开始。

三江源

3 个答案:

答案 0 :(得分:2)

好的,所以你要求一些指导而不是代码,这很好,因为没有人会在没有某种收入的情况下为你创造这种类型网站的来源。


请不要将此作为一种冒犯,但你显然缺乏开发可以处理这种用户迭代的系统的技能,所以下面对你自己来说似乎是陌生的,但对于其他可能正在读它的人来说可以帮助他们更多,然后它会帮助你。


<强>开始

我建议您将网站分解为组件,然后再详细查看每个组件。

我会将网站的对象分解为以下部分:

  • 数据库
    • 布局
    • 类型
  • 上传
    • 安全
    • 存储
    • 配额
    • 方法(API?)
  • 下载
    • 限制
    • 权限
    • 限制
  • 用户
    • 注册
    • 用户权限/角色
    • 订阅

还有更多要添加的内容,但我们的想法是详细查看每个组件,如果你必须得到笔和纸,那么它只会让事情变得更容易。

好的,让我们从数据库开始,数据库可能非常简单,MySQL现在通常是一个不错的选择,但也有其他选择。

对于结构,您需要首先查看站点的所有其他aspec,以便能够了解数据库的所需内容。

至于上传 / 正在下载我不会依赖Apache这样做,Apache会为每个请求生成一个新线程,并在发送大型文件时对它们进行线程速度限制保持活动时间更长,因此可能会有数千个下载/上传线程,导致服务器速度极慢。

我会将 libev 视为一个概念,它被合并到Node中,它不使用线程并利用磁盘I / O

libev + 节点是一个在单个线程中运行的事件循环结构,然后您将回调分配给磁盘读取,例如,当磁盘旋转时并准备好向您发送一个调用回调的数据块,但在您分配回调的时间和实际调用回调的时间内,该进程已处理了您可能设置的数百个其他回调/

用户需要放在结构图表中,创建一个计划,了解用户在您的结构中的组织方式,这有助于您了解收入途径。

首先,你应该从一个框架开始,它可以帮助你构建你可以控制的快速和可扩展的应用程序,例如Codeigniter,这将帮助你建立一个框架,让你的网站运行,现在你也可以使用Node.JS为此,但出于安全考虑,我建议您只使用Node将文件数据传递给客户端。

我认为你明白了这一点:)

答案 1 :(得分:0)

你应该使用move_uploaded_file函数存储上传的文件,检查文件类型是否正常,大小和... 然后将文件名保存到数据库中,您可以添加一些标签,描述可用于显示或搜索!

答案 2 :(得分:0)

问题非常笼统 - 你究竟遇到了什么问题?您是否阅读过关于文件上传的PHP手册部分?

有许多事情你没有考虑过 - 尤其是对恶意软件/许可内容的分发负责。