到目前为止,我编写了一个脚本,以便我可以浏览文件并查看文件的打印名称。这是脚本:
<form action="upload.php" method="post" enctype="multipart/form- data">
Select:
<input type="file" name="fileToUpload" id="fileToUpload">
</form>
当我点击浏览按钮并选择一个文件时,只有文件名打印在我的网页上(我的网络浏览器是 Firefox,我使用的是本地服务器)。有没有办法打印文件的整个地址?到目前为止,我在网上找到的内容大多是在我们提前知道“/path/to/file”时建议的方法。但是如果我随机选择一个文件怎么办呢?如果由于安全问题而无法使用 PHP 执行此操作,请参阅:
是否可以使用 C、C++、html 等来实现?
我真的需要显示目录的本地路径。有哪些选择?答案是做不到?我找到了这个网站 http://www.htaccesstools.com/articles/full-path-to-file-using-php/
虽然不知道它是如何工作的。
另一种选择是定义一个固定路径,让用户只选择那个目录,因为它是已知的,我可以打印出来。有道理吗?
最佳答案
较旧的浏览器过去允许不受限制地访问完整路径,因此这并非不可能,但出于安全考虑,您最好的答案是解决方法。
互联网浏览器
HTA 申请
如果您在本地工作,一种选择是您可以将您的页面作为 HTML 应用程序运行。遗憾的是,它使用 Internet Explorer 作为引擎。但是,如果您可以摆脱 HTA,那么这就是您想要的:
<!--test.hta-->
<HTML>
<HEAD>
<HTA:APPLICATION ID="testFile" BORDER="thick" BORDERSTYLE="complex"/>
<TITLE>HTA - Test file</TITLE>
</HEAD>
<BODY>
<input type="file" onchange="alert(this.value)">
</BODY>
</HTML>
可信站点
更好的选择是使用 Internet Explorer,然后将您的页面添加到 Internet Explorer 的受信任站点。那么您的解决方案就像:
<input type="file" id="fileUpload" onchange="alert(this.value)">
以下是将站点添加到您信任的站点的方法:
自定义安全级别
您还可以为 Internet Explorer 全局启用此行为:
火狐
Firefox 似乎不支持获取完整的 URL。但如前所述here似乎确实存在一个“mozFullPath”属性:
https://developer.mozilla.org/en-US/docs/Web/API/File/mozFullPath
我在我的浏览器中试过了,它似乎是一个不存在的属性。我无法在任何地方找到有关如何利用此属性的任何文档。但这是一个值得关注的属性,以防它变得有用。
HTML5
在 HTML5 中,你可以这样写
this.files[0]
引用文件对象。属性包括此处提到的“名称”和“lastModifiedDate”、“大小”和“类型”:
https://developer.mozilla.org/en-US/docs/Web/API/File
在 HTML5 中,您实际上可以使用 blob 并从所选文件创建对象 url 并显示预览。这可以通过 URL.createObjectURL(...) 来完成然后创建图像并设置其 src
到生成的临时 url。参见 this fiddle .( credit goes to this post )
最后,您可能会非常喜欢:
关于javascript - 使用php浏览时写入文件的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33130219/