我在html中有这段代码
<input type="file" name="file" id="file1"/><br />
<input type="file" name="file" id="file2"/><br />
这是我的PHP代码
if(!empty($_FILES['image']['name'])) {
$ext=explode('.',$_FILES['image']['name']);
$new_name=$property_id."_".rand(10,10000).".".end($ext);
$name=SITEPATH.S_LOCATIONS_LARGE.$new_name;
$small=SITEPATH.S_LOCATIONS.$new_name;
move_uploaded_file($_FILES['image']['tmp_name'],$name);
if(is_file($name)) {
$this->db->update("insert into bloom_location_images (image,property_id) values ('$new_name',$property_id)");
list($width, $height, $type, $attr) = getimagesize($name);
if($width > 600) {
$this->magic->constrain_by_scale($name,500,0);
}
copy($name,$small);
if($width > 301) {
$this->magic->constrain_by_scale($small,301,0);
}
}
}
return $property_id
现在我想存储这两个文件,但我不能。我想我必须通过数组元素传递它。如果是,请告诉我怎么可能
please help me to do this
答案 0 :(得分:3)
试试这个:
<input name="upload[]" type="file" multiple="multiple" />
当然可以根据需要添加<input>
个
<强> PHP 强>
您的文件将在$_FILES
数组中提供。所以你可以简单地做这样的事情:
for($i=0; $i<count($_FILES['upload']['name']); $i++) {
$tmp = $_FILES['upload']['tmp_name'][$i];
$path = "yourfolder/" . $_FILES['upload']['name'][$i];
if(move_uploaded_file($tmp, $path)) {
// your code here
}
}
希望这会有所帮助
答案 1 :(得分:1)
更改name
属性而不是id
,它会起作用。
或meaby您可以使用类似的东西(仅限HTML5): How can I select and upload multiple files with HTML and PHP, using HTTP POST?
答案 2 :(得分:0)
用户数组尝试表单文件元素中的名称
<input name="image[]" type="file" multiple="multiple" />
您将在$_FILES
中以数组