使用输入类型文件选择文件夹路径
我在PHP中遇到问题。我正在使用<input type=file>
从用户获取文件名。 基本上我想存储刚才的文件夹路径而不是文件,所以当我使用超链接显示路径时,用户可以打开目录。使用输入类型文件选择文件夹路径
但使用<input type=file>
用户必须选择一个文件,然后只有文件文本框将被填充。现在我想剥离文件名的最后部分。
我该怎么做?还是有更好的方法来解决这个问题?
编辑:
我使用这样的事情在说一个名为1.HTML文件:现在
<form method="post" action="update.php">
<input type="file" name="attachment" id="attachment"></td> </tr>
</form>
,在update.php我使用的是这样的:
$logpath1=$_POST['attachment'];
基本上我正在获取用户选择的$ logpath1中的文件名。 但是,输入类型=文件只适用于文件而不适用于文件夹。
那么,如何从路径中去除文件名呢?
示例:如果用户选择,
C:\Documents and Settings\myusee\Desktop\new 2.cpp
欲剥离new 2.cpp
。
我不知道如何使用爆炸。此外,我正在运行XAMPP Lite。
你可以用另一种方式做到这一点,把一个隐藏的字段<input type="hidden" id="something" name="something" />
,并使用jQuery(JavaScript)来选择文件输入框的值,并在提交之前将其放入隐藏字段中,提交后您将有一个完整的路径,我不知道它是否有效,但值得一试。
出于安全原因,大多数浏览器都禁止访问路径信息(或文件输入框的任何其他部分)。使用正常的文件输入,这是不能完成的。 也许像swfbox这样的基于Flash的上传插件之一允许预设目录。
1)ANY有关客户端文件结构目录路径的信息存在安全风险。 POST提交,JavaScript,Flash,Java应用程序或任何其他基于Web的方法都有能力做到这一点。我怀疑Firefox,Internet Explorer,Safari,Opera或任何其他浏览器会允许你这样做。如果找到了一种方法 - 稍后的版本很可能会修补此漏洞,并且您的代码将变得毫无用处。
2)如果您想改为显示服务器目录的目录,则可以使用此PHP代码获取存储上载文件的临时目录的完整路径。
$temp_path=$_FILES['attachment']['tmp_name'];
然而,这将是您的SERVER安全风险。另外,临时路径通常被拒绝访问网络。通常,只有PHP解释器才能访问它。
通常情况下,一旦文件上传,如果它是有效的,它可以移动这样:
move_uploaded_file($_FILES['attachment']['tmp_name'], $the_directory_i_want);
但由于$the_directory_i_want
是一个变量你集,你就已经知道这一点。
这有点听起来像你要使用WAMP和PHP作为某种形式的本地文件工具。如果是这样的话,PHP可能不是一个好的解决方案。有时,您可能想看看创造一个.HTA application
。
杜佩:http://*.com/questions/1676035/cant-get-the-complete-address-while-uploading-a-file(你不能 - 文件输入是有上传文件,而不是信息有关访问者的文件系统) – Quentin
我不采取有关文件系统。我只是使用用户选择的文件名。 – JPro
路径名是关于文件系统的结构信息。 – falstro