【问题标题】:Wordpress: Passing images from one form to anotherWordpress:将图像从一种形式传递到另一种形式
【发布时间】:2016-01-08 10:17:03
【问题描述】:

我有一个表单,用户可以在其中上传图片和其他数据。按下提交按钮后,如何将上传的图像传递给另一个表单?我已经可以成功传递文本输入值了——传递图像是唯一的问题。这是第一种形式:

<form class="usp-form" method="post" enctype="multipart/form-data" action="http://www.aeroe.com/gate/" data-validate="parsley" data-persist="garlic" novalidate>

<input name="ttitle" type="text" value="" data-required="true" required="required" maxlength="99" placeholder="" class="usp-input usp-input-title" />

<input name="usp-files" type="file" maxlength="255" data-required="false" placeholder="File(s)" class="usp-input usp-input-files select-file multiple" multiple="multiple" id="usp-multiple-files" />

<input type="submit" value="Go To Step 2">

</form>

这是第二种形式(我尝试回显 $_POST 似乎只适用于文本输入的文件名):

<form class="usp-form" method="post" enctype="multipart/form-data" action=" http://www.aeroe.com/submit/" data-validate="parsley" data-persist="garlic" novalidate>

<input name="ttitle" type="hidden" value="<?php echo $_POST['ttitle']; ?>" data-required="true" required="required" maxlength="99" placeholder="" class="usp-input usp-input-title" />

<input name="usp-files[]" value="<?php echo $_POST['usp-files']; ?>" type="file" maxlength="255" data-required="false" placeholder="File(s)" class="usp-input usp-input-files select-file multiple" multiple="multiple" id="usp-multiple-files" />

<input type="submit" value="Go To Step 2">

</form>

如果有人能帮助我想出解决方案,我将不胜感激。谢谢。

【问题讨论】:

    标签: javascript php html wordpress forms


    【解决方案1】:

    这里你想借助 Files 属性获取文件。

    你必须使用这个代码

    $_FILES['usp-files']['name'] // for file name
    $_FILES['usp-files']['tmp_name'] // for temporary file name
    

    代替你的这段代码

    $_POST['usp-files']
    

    【讨论】:

    • 感谢您的回答。这很好用,但我需要能够将其设置为文件输入值,如下所示: 但是,当我这样做时,这种方法似乎不起作用。
    【解决方案2】:

    在第二个表单中,把它放在表单标签之间:

    foreach ($_FILES["usp-files"] as $file) {
        echo '<input name="usp-files[]" value="'.$file["usp-files"]["tmp_name"].'" type="hidden"  />';
    }
    

    然后在http://www.aeroe.com/submit/ 的索引文件中,您可以获取这些文件并像这样对它们做任何您想做的事情:

    foreach ($_POST["usp_files"] as $file) {
        //get the location of the file
        $fileslocation= tempnam(sys_get_temp_dir(), $file);
    
        //move the file to somewhere else
        move_uploaded_file($file, $destination);
    }
    

    【讨论】:

    • 感谢您的回复,但是我希望更多地设置文件输入的“值”,因为我不想在第二个表单上打印图像。这是因为最终我希望将这些图像转发到第三种形式。我试图这样做: 再次感谢。
    • 非常感谢您的帮助,但恐怕这没有奏效!这个方法导致前端出现如下代码: foreach ($_FILES["usp-files"] as $file) { echo ''; }
    • 你提到在aeroe.com/submit的索引文件中插入代码。我正在使用 wordpress,那么索引文件是否只是名为 index.php 的文件?这是我在整个主题目录中唯一能找到的索引文件,所以我假设这个 index.php 被所有页面共享?
    • @p.luck 我认为您要发布的页面不是 wordpress。在这种情况下,您可以在 functions.php 中添加代码。我要更新答案。
    • 好的,所以第一个sn-p代码进入第二个表单标签,最后一个sn-p进入functions.php?
    猜你喜欢
    • 2022-01-13
    • 2015-06-23
    • 2015-06-06
    • 1970-01-01
    • 2021-08-06
    • 2012-03-11
    相关资源
    最近更新 更多