作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到两个字段作为数组图像及其颜色,HTML 是:
<div class="form-group">
<input type="file" name="images[source][]" class="form-control input-lg">
<input type="text" name="images[color][]" class="form-control input-lg">
</div>
PHP 是
$images=array();
if(isset($_FILES['images']) && sizeof($_FILES['images']['source']) > 0)
{
foreach($_FILES['images']['source'] as $index=>$source)
{
if(!empty($source) && !empty($_POST['images']['color'][$index]))
{
$images[]=array('source'=>$source,'color'=>$_POST['images']['color'][$index]);
}
}
if(sizeof($images) > 0)
{
$data['images']=$N['images']=serialize($images);
}
}
但是当单击提交按钮时,图像源没有任何结果,但显示图像颜色...任何帮助将不胜感激。
最佳答案
嘿伙计,您缺少 $_FILES
对象中的名称键。您还需要检查一下。这是更新后的代码。
<?php
$images=array();
if(isset($_FILES['images']) && sizeof($_FILES['images']['name']['source']) > 0)
// name is present before source, you need to add that part
{
foreach($_FILES['images']['name']['source'] as $index=>$source)
{
if(!empty($source) && !empty($_POST['images']['color'][$index]))
{
$images[]=array('source'=>$source,'color'=>$_POST['images']['color'][$index]);
}
}
if(sizeof($images) > 0)
{
$data['images']=$N['images']=serialize($images);
}
} ?>
希望这有帮助!
关于php - php 如何将多个字段序列化为一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45026513/
我是一名优秀的程序员,十分优秀!