我将两个字段作为数组图像及其颜色,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);
}
}
但是当点击提交按钮时,图像源没有任何结果,但图像颜色显示... 任何帮助都将是值得赞赏的。
答案 0 :(得分:0)
试试这个:您使用$ source作为变量,而我看不到它被声明在任何地方。我改变了它。
$images=array();
if(isset($_FILES['images']) && sizeof($_FILES['images']['source']) > 0)
{
foreach($_FILES['images']['source'] as $index=>$source)
{
if(!empty($_POST['images']['source'][$index]) && !empty($_POST['images']['color'][$index]))
{
$images[]=array('source'=>$_POST['images']['source'][$index],'color'=>$_POST['images']['color'][$index]);
}
}
if(sizeof($images) > 0)
{
$data['images']=$N['images']=serialize($images);
}
}
答案 1 :(得分:0)
嘿伙计你错过了$_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);
}
} ?>
希望这有帮助!
答案 2 :(得分:0)
感谢您的帮助,我的代码正在使用 HTML:
<input type="file" name="images[]">
<input type="text" name="color[]">
PHP:
$array_serialize = array();
if (!empty($_FILES['image'])){
$files = $_FILES['image'];
$images = $files['name'];
foreach($images as $index=>$image)
{
if(!empty($image) && !empty($_POST['color'][$index]))
{
$array_serialize[]=array('image'=>$image,'color'=>$_POST['color'][$index]);
}
}
$N['images'] = serialize($array_serialize);
}