0

嗨,我需要一些帮助。我创建了一个 php 脚本,我将其从复制粘贴到节点中作为 php 代码运行。我需要一个文件路径来处理文件,就像我使用“\birds\birds.xml”一样。我不想包含文件路径,而是在想,如何使用浏览按钮创建一个简单的小表单并选择文件而不是使用提交按钮提交。将文件路径保存在变量中。

4

1 回答 1

1

据我了解,浏览按钮用于客户端(网络浏览器)


客户端浏览按钮

它有两个部分:

  1. HTML 上传表单
  2. PHP处理脚本

HTML [表格]

<form enctype="multipart/form-data" action="submit-script.php" method="POST">
    Choose a file to upload: <input name="uploadedfile" type="file" />
    <input type="submit" value="Upload File" />
</form>

PHP [提交脚本.php]

$fileName = $_FILES['uploadedfile']['name'];
$target_path = "uploads/";
$target_path = $target_path . basename($fileName); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). " uploaded";
} else{
    echo "Unable to upload!";
}

服务器端浏览按钮

但是,如果您想单击浏览按钮并浏览服务器,则必须使用 ajax 自己实现浏览按钮或使该过程多步骤。

阿贾克斯方式

  1. 在按钮单击事件上打开带有目录浏览的模式窗口
  2. 网上有很多开源的目录浏览脚本。这里有几个:简单的服务器文件浏览器fileNice - 更高级的解决方案......
  3. 在模态窗口中单击“确定”后,在关闭窗口之前将父级上的一些隐藏输入设置为所选文件(使用 javascript)。例如 window.parent.selectedFile.value ="选中的文件"
  4. 一旦你保存在你的主窗体中。从 POST 中捕获“selectedFile”并执行您需要执行的操作。

非 Ajax 方式

为此,您将需要多个表格(在不同的页面上)。第一种形式将具有文件浏览器(参见 Ajax-Way 中的步骤 2),将选定的文件存储到隐藏字段。一旦传递到第二种形式,将值设置为另一个隐藏字段...请求其他信息(如果需要,如果不需要,您可以跳过第 2 种形式)。提交后,做你需要做的......

于 2010-08-31T15:06:42.187 回答