【问题标题】:PHP Media Upload LibraryPHP 媒体上传库
【发布时间】:2011-09-22 11:19:10
【问题描述】:

我目前正在寻找可以管理多种类型文件的 PHP 媒体上传库。单个库或不同库的组合都可以很好地工作。

我可以编写一些简单的上传代码来检查什么类型的文件,并结合一些简单的安全措施,但我更多宁愿把它留给其他更有资格的人。


我在这样的库中寻找的功能:

  • 检查文件类型。我希望库有一个可以上传的文件类型的白名单,并且能够检查上传的文件是否确实在那个白名单。检查过程必须不仅仅是检查文件扩展名示例:只允许上传 .jpg、.png、.mp3、.avi。

  • 非常全面的设置页面/部分可理解和可编辑的代码。我希望能够塑造 库 em> 以适应我的 站点 的结构,而不是相反。

  • 安全检查。我希望有一个安全检查系统,以确保文件不会对我的网站构成可能的安全威胁。

  • 免费。我宁愿不买图书馆。


到目前为止我发现的工具:

由于对文件上传代码的普遍需求,有大量的上传库,例如:

  • class.upload.php -- 管理图片的上传、保存和调整大小。

  • Pear PHP 的HTTP_Upload -- 管理通过 HTTP 表单提交的文件。

  • Easy PHP Upload -- 通过 Web 表单验证和管理文件上传

  • EasyUp -- 简单管理文件上传。

问题是,有太多的库、框架和类,很难选择一个(或多个组合使用)并知道它会可靠且运行良好。


所以,如果我能就您认为最好的文件上传库或包含我正在寻找的功能的 PHP 库获得一些建议,那就太棒了!

非常感谢!

【问题讨论】:

    标签: php file-upload upload


    【解决方案1】:

    嗯,这取决于您要上传的内容。它只是图像吗?文本文件?视频?

    无论如何,实际上并不需要库,因为 PHP 具有非常强大的内置上传功能。

    This 页面在这里展示了如何制作基本表单和实现一些基本安全检查的一个很好的例子,包括检查文件扩展名。 PHP 本身非常安全,但您必须自己决定接受哪些文件扩展名。通常,最好具体选择您将接受的内容,而不是仅限制少数高风险文件。例如,除非需要它们并且您想支持它们,否则请避免支持存档(例如 7z、bz2 或 zip)或可执行文件。

    同样,如果你想对新上传的文件进行非常基本的病毒扫描,可以使用类似于this one的方法。

    您希望能够将您的网站与所需的库融为一体吗?使用 PHP 可以让你做的比任何事情都好,而且做起来也相对简单。

    【讨论】:

    • 在我的第一个要点下,我说我希望这样的库检查不仅仅是扩展。如果您无法检查文件是否真的是 jpeg,您可以将可执行文件的扩展名更改为 .jpg,并且可以轻松上传它而不会出现任何问题。这些对我上面谈到的不同类型媒体的不同检查创建了一个非常复杂的系统,如果有库,我宁愿不编写代码。
    • 环顾四周,我发现在 PHP 中上传文件需要检查安全性,例如 this 页面中解释的安全检查。我不想把这些支票留给更有资格的人。
    • 打开文件并检查文件开头的magic number。例如,JPG 使用ff d8。同样,就像该页面所说,您只需检查文件扩展名而不是 MIME 类型,因为我在答案中的第一个链接给出了一个示例。
    猜你喜欢
    • 2012-01-29
    • 2019-10-26
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 2013-01-29
    • 2012-06-13
    相关资源
    最近更新 更多