javascript - 使用php浏览时写入文件的完整路径

标签 javascript php html c++

到目前为止,我编写了一个脚本,以便我可以浏览文件并查看文件的打印名称。这是脚本:

 <form action="upload.php" method="post" enctype="multipart/form-  data">
 Select: 
 <input type="file" name="fileToUpload" id="fileToUpload">
 </form>

当我点击浏览按钮并选择一个文件时,只有文件名打印在我的网页上(我的网络浏览器是 Firefox,我使用的是本地服务器)。有没有办法打印文件的整个地址?到目前为止,我在网上找到的内容大多是在我们提前知道“/path/to/file”时建议的方法。但是如果我随机选择一个文件怎么办呢?如果由于安全问题而无法使用 PHP 执行此操作,请参阅:

How to get full path of selected file on change of <input type=‘file’> using javascript, jquery-ajax? ,

是否可以使用 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)">

以下是将站点添加到您信任的站点的方法:

step 1 step 2

自定义安全级别

您还可以为 Internet Explorer 全局启用此行为:

method 2


火狐


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 )

最后,您可能会非常喜欢:

https://blueimp.github.io/jQuery-File-Upload/

关于javascript - 使用php浏览时写入文件的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33130219/

相关文章:

javascript - Owl Carousel 选项未被读取

php - 如何在不覆盖的情况下向 CSV 文件添加行

php - 为什么 `mysqli_query()` 返回 null?我怎样才能弄清楚?

php - 在 PHP 中设置/替换 $this 变量

javascript - 选择不同的字段元素时如何重置选择选项下拉列表?

html - 使颜色在悬停时淡入淡出

Javascript检查文件是否存在

javascript - 为什么服务器端 HTML 呈现比客户端更快?

javascript - 如何使用 Javascript 获取当前的 NotesDocument?

html - 水平滚动区域,其可见宽度填满流动宽度页面的剩余部分