如何在Drupal 7中询问用户的输入文件浏览器

时间:2010-08-30 21:45:24

标签: php drupal drupal-6 drupal-7

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

1 个答案:

答案 0 :(得分:1)

据我所知,浏览按钮适用于客户端(网络浏览器)


客户端浏览按钮

它有两个部分:

  1. HTML上传表单
  2. PHP处理脚本
  3. 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 [submit-script.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自行实现浏览按钮,或者使流程多步骤。

    <强> Ajax的路

    1. 按钮点击事件打开带目录浏览的模态窗口
    2. 网上有许多开源目录浏览脚本。以下是一些:simple server file browserfileNice - 更高级的解决方案......
    3. 在模态窗口中单击“确定”后,在关闭窗口之前,将父级的一些隐藏输入设置为所选文件(使用javascript)。例如。 window.parent.selectedFile.value =“selected file”
    4. 保存在主表单中。从POST中捕获“selectedFile”并执行您需要执行的操作。
    5. 非Ajax方式

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