Wordpress:将图像从一种形式传递到另一种形式


Wordpress: Passing images from one form to another

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

<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>

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

在这里,您需要借助Files属性来获取文件。

你必须使用这个代码

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

而不是你的这个代码

$_POST['usp-files']

在第二个表单中,将其放在表单标记之间:

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);
}