【问题标题】:Handling file uploads in PHP在 PHP 中处理文件上传
【发布时间】:2012-12-10 15:38:13
【问题描述】:

TLDR;如何引用从 PHP 脚本中 POST 到 PHP 脚本的临时文件上传?

我正在创建一个允许我上传和聚合 XML&XLS 文件的网络应用程序(仅用于实验室测试,不需要太多安全性)。

除了在用户使用 HTML 表单将文件发布到服务器后如何处理文件本身之外,我已经解决了所有问题。

我有一个将文件发布到服务器的表单,并且我有一个 PHP 脚本,该脚本设置为对文件执行某些操作,但我无法理解如何从 PHP 脚本中引用上传的文件在服务器上。

EG:

<form action="Update_data.php" method="POST" enctype="multipart/form-data"> <input type="file" name="file" id="file"></br> <INPUT type="submit" name="submit" value="Submit"></br> </form>

我隐约知道,当文件发布时,文件存在于服务器上的临时目录中,直到 Update_data.php 完成执行。这一切都很好,但我不知道那个目录会是什么,或者即使我需要以某种特定方式配置 PHP.ini 以允许这样做。

所以,我要问的是:

如何引用从 PHP 脚本中 POST 到 PHP 脚本的临时文件上传?

谢谢。

【问题讨论】:

  • 我确实读过,但我不明白如何将文件作为数据从那里的信息传递给函数。如果我可以简单地使用文件名,那么它比我预期的更简陋,但我不确定在脚本完成执行之前文件是否存在于临时目录中。也许 TLDR 过于概括了。
  • 否;我自己已经阅读了很多 - 很抱歉这个问题对你来说太简单了。也许你应该更努力地尝试。我注意到你在这个网站上的很多回复都非常讽刺和轻微的侮辱,即使是有帮助的。如果你要那样做,为什么不选择保持沉默呢?我认为从我遇到的困难中可以明显看出我要么不理解手册,要么没有注意到解决我遇到的问题的部分。我敢肯定你以前忽略了一些事情。
  • @eicto,lmgtfy 从不合适。如果您要发布 RTFM,那么至少指向实际手册。

标签: php web-applications upload


【解决方案1】:

$_FILES['file']['tmp_name']包含服务器上上传文件的文件名。

您可以使用move_uploaded_file() 函数将上传的文件移动到您需要的任何位置。

此手册页包含您需要的所有信息:http://php.net/manual/en/features.file-upload.post-method.php

【讨论】:

  • 是的,我是从手册中读到的,但正如我所说,我不确定该文件是否是临时文件,或者它临时存在于哪个目录中......
  • move_uploaded_file 将从 tmp 位置删除文件。该文件的位置取决于您的 PHP 配置:php.net/manual/en/ini.core.php#ini.upload-tmp-dir
  • 哦,好的,谢谢,这就是我所需要的——我真正不确定的部分是,当我不知道文件是在哪个目录中创建时,我如何确定文件的完整路径..谢谢你非常喜欢。
猜你喜欢
  • 2016-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 2012-09-08
相关资源
最近更新 更多