Я не уверен, что это именно то, что вы ищете, но это решило мои потребности загружать / сохранять несколько изображений.
Сохраните этот код в файле с именем upload.html
:
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>*Upload Test*</title>
</head>
<body>
<form action="up.php" method="post" multipart="" enctype="multipart/form-data">
<input type="file" name="img[]" multiple accept=".jpg,.jpeg,.png" onchange="submit()">
<input type="submit">
</form>
</body>
</html>
Сохраните этот код в файле с именем up.php
:
<?php
$img=$_FILES['img'];
if(!empty($img)) {
$img_desc=reArrayFiles($img); $cnt=0;
foreach($img_desc as $val) {
$newname=$val['name'];
echo $newname.' ('.$val['type'].') : ';
if(file_exists('./uploads/'.$newname)){
echo '<b>Image already exists</b><br>';
}else{
move_uploaded_file($val['tmp_name'],'./uploads/'.$newname);
if($val['error']==0){
$cnt++;
echo 'Uploaded!<br>';
}else{
echo '<b>Error</b><br>';
}
}
}
echo '<hr>Uploaded '.$cnt.' images.';
}
function reArrayFiles($file) {
$file_ary=array();
$file_count=count($file['name']);
$file_key=array_keys($file);
for($i=0;$i<$file_count;$i++) {
foreach($file_key as $val) {
$file_ary[$i][$val]=$file[$val][$i];
}
}
return $file_ary;
}
?>
Этот код был адаптирован из примера здесь .