在没有上传的情况下在PHP中获取文件的路径

在没有上传的情况下在PHP中获取文件的路径

问题描述:

所以基本上我想将路径插入到我的数据库中,作为一个字符串,我不想上传它 - 我只是希望本地用户浏览文件,然后提交表单和该文件的路径将作为字符串添加。因此,当我将这些内容反映到网址中时,网络上的用户可以单击链接从网络位置下载它。在没有上传的情况下在PHP中获取文件的路径

$location = fopen($_FILES["location"]["tmp_name"], 'r'); 

我试过上面的,但我猜这个文件需要上传才能得到路径。 Form Button

任何想法?

List of File Locations

+3

'将路径插入数据库而不上传'没有多大意义 - 除非您上传,否则PHP将无法访问文件或路径(大多数浏览器甚至可以防止JS知道路径是什么文件在用户的本地机器中)。也许我不是很了解 - 你能解释一下你想要达到的目标吗? – Giedrius

+0

我添加了更多的上下文。我可以这么说,它会将文件名字符串(和文件扩展名)添加到数据库,如果我只是简单地使用input =“file”,然后像这样将信息插入到数据库中。 – MikeXero

+1

任何已经完成基础研究的人现在都应该知道这是不可能的,因为@Giedrius已经提到过,现代浏览器为了明显的隐私和安全原因隐藏了你的路径 - 无论是在客户端还是在服务器端。 – CBroe

不幸的是,因为它需要你要上传的文件PHP不会帮助你与此有关。

同样,正如评论中提到的,您无法从表单中获取本地文件路径。这是一个浏览器标准,并且是出于安全目的而完成的。你可以在这里阅读更多关于它的信息:https://*.com/a/4176605/8518859

你的情况唯一的解决方案是提供一个文本输入并要求用户粘贴网络路径到文件。也许如果你向他们提供关于如何获得网络路径的简单说明,它将使他们的任务更容易。