【问题标题】:How to stop an input image field from losing its value on update in php?如何阻止输入图像字段在 php 中更新时丢失其值?
【发布时间】:2013-11-30 23:13:15
【问题描述】:

我有一个我认为很简单的问题,但是,我很难过。我正在为插件的 Wordpress 中的自定义类型处理自定义字段列表。我希望根据链接的另一篇文章拥有动态数量的自定义字段(这可能是说明问题的一种复杂方式)。

我在页面上的输入类型似乎可以正常工作,但是对于只读的输入文件类型,每次单击以更新以前存储的值时都会丢失。我理解为什么会发生这种情况,当页面在保存值后加载时没有价值。我在标签中显示图像。当我将不同的图像添加到不同的自定义字段时,原始图像现在不会向 php 脚本发送数据。因此失去了原始价值。

这里是相关的php:

// Attribute Images...
$save_img_values = array();
foreach ($_FILES['paired_att_img']['name'] as $key => $att_img) {
    $file_name = $_FILES['paired_att_img']['name'][$key];
    $file_tmp = $_FILES['paired_att_img']['tmp_name'][$key];
    $upload = wp_upload_bits($file_name, null, file_get_contents($file_tmp));
    if (isset($upload['error']) && $upload['error'] != false) {
        continue;
    } else {
        $save_img_values[$key] = $upload['url'];
    } 
}
update_post_meta($post->ID, 'paired_atts_img', $save_img_values);

请不要在可怕的代码上使用 cmets,它需要重构,但我想先让它工作。

【问题讨论】:

    标签: php wordpress file input


    【解决方案1】:

    所以实际上我找到了答案!随时让我知道为什么这不是一个好主意,但实际上我只是将其添加到:

    $custom_imgs = get_post_meta($post->ID, 'paired_atts_img', false);
    if (count($custom_imgs) > 0)
        $custom_img = $custom_imgs[0];
    else
        $custom_img = array();
    $save_img_values = $custom_img;
    

    然后其余的和以前一样。所以本质上我们在保存而不是加载时检索值。也许在 asp.net 上的时间太长了,让我看不到如此明显的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多