Php 如何在表单中保存Uploadcare图像?

Php 如何在表单中保存Uploadcare图像?,php,uploadcare,Php,Uploadcare,我有一个表单,我想用PHP验证它。从的widget上传海报是该表单的一部分 有时,用户必须在表单中返回以修复错误的电子邮件等内容。我希望选择的上载文件保留在该表单中 单击“后退”按钮时,此功能有效,但我不能相信这一点。我正在使用PHP POST变量重新加载和填充表单 我的问题:我是否可以使用带有Uploadcare输入按钮的POST变量使其“记住”并重新加载用户先前上载的所选图片 我现在的代码 <input type="hidden" role="uploadcare-upl

我有一个表单,我想用PHP验证它。从的widget上传海报是该表单的一部分

有时,用户必须在表单中返回以修复错误的电子邮件等内容。我希望选择的上载文件保留在该表单中

单击“后退”按钮时,此功能有效,但我不能相信这一点。我正在使用PHP POST变量重新加载和填充表单

我的问题:我是否可以使用带有Uploadcare输入按钮的POST变量使其“记住”并重新加载用户先前上载的所选图片

我现在的代码

<input type="hidden"
       role="uploadcare-uploader"
       data-preview-step="true"
       data images-only="true"
       name="adposter"
       style="display: inline-block;" />

是否可以执行以下操作:

<input type="hidden"
       role="uploadcare-uploader"
       data-preview-step="true"
       data-images-only="true"
       name="adposter"
       style="display: inline-block;" 
       value="<?php print isset($_POST["adposter"]) ? htmlspecialchars($_POST["adposter"]) : ""; ?>"
/>

您可以使用
$\u POST
将变量从一个表单传递到另一个表单,就像您使用隐藏字段描述的那样。但这不是很有效,当您将信息写回客户机时,他们可能会改变这一点

保存此类变量的更好方法是使用
$\u SESSION

session_start();
$_SESSION['imageid'] = 123456;
会话支持允许您在中的请求之间存储数据 $\u会话超全局数组。当访问者访问您的站点时,PHP 将自动检查(如果session.auto_start设置为1)或打开 您的请求(通过会话_start()明确)是否 会话id已随请求一起发送。如果是这样的话 将重新创建先前保存的环境。

因此,上传图像后,您将图像id存储在
$\u会话中

session_start();
$_SESSION['imageid'] = 123456;
然后,即使在以后的表单中,您也可以通过再次使用
$\u SESSION
变量来访问imageid:

session_start();
var_dump($_SESSION['imageid']);

int 123456

有关会话的更多信息,请参阅php文档:

对此进行排序。这是有价值的。太好了

作为:

[role=uploadcare uploader]输入的值为空或带有文件UUID的CDN链接

如果您在外部设置输入值并触发DOM更改事件,它将反映在小部件中。例如,将其设置为文件UUID或CDN链接将在小部件中显示上载的文件。您可以在实时小部件上执行此操作,甚至可以在它实际加载之前执行此操作

因此,您的第二个代码段应该可以正常工作

您可能还想知道设置小部件值的方法:


$\u POST
变量用于接收浏览器发送的数据,您不能使用它将变量传递给HTML模板。但是,您可以简单地在PHP中将一个变量设置为文件id,然后将其用作
谢谢各位-我应该澄清一下-我的问题更多地是关于Uploadcare输入类型将如何接受Value=“xxxx”。比如说Uploadcare从用户那里获取一个文件,并给它一个id,比如说859510a2-b15b-4fb3-9b02-08c95685dffd。上传后,小部件通常会告诉用户他们上传的文件的名称及其文件大小,如“image.gif,33kb”。我的问题是我是否可以将id-859510a2-b15b-4fb3-9b02-08c95685dffd作为输入元素值提供回html表单,以及u/c小部件是否会接受该值。我参加了会议:)