如何在php中上传文件路径?

时间:2014-02-26 18:06:21

标签: php

我已使用此步骤echo $_FILES["fileField"]["tmp_name"];,但结果如下。

C:\xampp\tmp\phpA9EE.tmp

如何获得确切的文件路径?

1 个答案:

答案 0 :(得分:1)

上传的文件没有“完整路径”,而不是PHP在上传过程中存储它的临时位置。

为了用户的安全,浏览器只发送远程计算机上的文件名;对于你的安全性,你不应该盲目地使用它(安全经验法则:用户发送的任何内容都是可疑的并且可能用于攻击你的系统)。您可能希望通过白名单过滤它(例如删除除字母和数字之外的任何内容)并将其用作“友好”的上传名称,或者您可能希望完全忽略它。浏览器还发送文件类型(例如image/jpeg);再次,这个不应该被信任 - 了解文件类型的唯一方法是使用查看内容并验证它的命令。

就PHP而言,上传的内容是一大块二进制数据;它将它保存到一个随机命名的文件,这是你在那里回显的路径。 PHP手册有an introduction to how this works

使用该路径,您可以执行以下两项操作之一:

  • 使用is_uploaded_file()进行验证,并使用file_get_contents()或类似的
  • 读取数据
  • 使用move_uploaded_file()将其置于您选择的永久位置