【问题标题】:Is it possible to receive uploaded files in PHP without storing them on the filesystem?是否可以在 PHP 中接收上传的文件而不将它们存储在文件系统中?
【发布时间】:2011-11-08 13:07:30
【问题描述】:

据我所知,PHP 将所有上传的文件存储在upload_tmp_dir(或系统默认的 tmp 目录,如果 php.ini 文件中未设置 upload_tmp_dir)。

那么通常的方法是使用move_uploaded_file将该文件移动到另一个地方

我的问题是:有没有办法在变量中检索文件?所以它不需要随时存储在文件系统上?

原因是,我不必事后清理文件,也不必关心文件系统权限。

【问题讨论】:

    标签: php file-upload


    【解决方案1】:
    $contents = file_get_contents($_FILES['name']['tmp_name']);
    

    保留临时文件通常是安全的,PHP 会在请求结束时小心删除它(除非 PHP 在您的脚本期间严重崩溃)。

    【讨论】:

    • 至少在这个需要存储文件的地方似乎没有办法。
    【解决方案2】:

    您可能可以读取临时文件,将其转换为 Base64(例如)并将其存储在变量中..

    【讨论】:

    • 不用转成B64,PHP变量可以保存二进制数据。
    • 我建议使用 B64,以防他想用 CSS 来展示它。我不知道他对数据的用途。
    猜你喜欢
    • 2011-08-07
    • 1970-01-01
    • 2018-12-22
    • 2017-11-05
    • 1970-01-01
    • 2021-10-12
    • 1970-01-01
    • 2022-01-28
    • 2023-04-04
    相关资源
    最近更新 更多