【问题标题】:How to ask input file browser from user in Drupal 7如何在 Drupal 7 中向用户询问输入文件浏览器
【发布时间】:2010-08-30 21:45:24
【问题描述】:

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

【问题讨论】:

    标签: php drupal drupal-6 drupal-7


    【解决方案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 自己实现浏览按钮或使该过程多步骤。

    Ajax 方式

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

    非 Ajax 方式

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

    【讨论】:

      猜你喜欢
      • 2011-08-18
      • 2012-11-01
      • 2014-07-15
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      相关资源
      最近更新 更多