我想知道是否有任何方法可以获取所选文件的客户端绝对路径!
$_FILES['xml_file']['tmp_name'];
这也提供了所选文件的路径,但其服务器端路径...它的结果是这样的C:xampptmpphp2679.tmp
我想C:UsersSamiDesktopdatamyfile.xml
我的实际文件放在什么地方。
因为我希望这个实际路径再次用于自动获取和保存等(通过代码(。
你可以尝试在php上echo realpath($_FILES['xml_file']['name']);
。
然后输出将是:
C:UsersSamiDesktopdatamyfile.xml
当您单击浏览按钮时,它会选择文件。 当你点击提交按钮时,整个文件正在从浏览器发送到Web服务器,PHP确实将整个文件放在php服务器临时目录中。然后,调用您的脚本。
因此,当您尝试从$_FILES['xml_file']['name']
或$_FILES['xml_file']['tmp_name']
或realpath($_FILES['xml_file']['name'])
获取绝对路径时,您将在服务器上获取路径。
此问题的解决方案是简单地将文件复制到某个地方,而不是再次要求文件上传。 您需要确保将其复制到 Web 服务器上的任何地方,服务器都有权执行此操作。 通常,这涉及授予Web服务器运行的用户(通常是基于apache的服务器的用户"apache"或"nobody"(对您为此目的创建的特殊目录的写入权限。
副本在 PHP 中可用。 http://us3.php.net/manual/en/function.copy.php
你唯一的诀窍就是给它命名什么,这样你就可以在第二个请求中再次找到它,并决定把它放到哪个目录中。