如何在php中插入多个图像并移入文件夹?

$(document).ready(function(){ $("#add_small").click(function(event){ event.preventDefault(); $(".add_small").append('
\ \ \ Remove\
'); }); jQuery(document).on('click', '.remove_small', function() { jQuery(this).parent().remove(); return false; }); });
  
Add

 <?php if(isset($_POST['submit'])) { $file_ary = reArrayFiles($_FILES['product_images']); foreach ($file_ary as $file) { //print 'File Name: ' . $file['name']; //print 'File Type: ' . $file['type']; //print 'File Size: ' . $file['size']; $folder_Path = "../images/product_image/"; $banner_image_name = str_replace(" ", "", strtolower(basename($file['name']))); $banner_image_name_upload = $folder_Path.$banner_image_name; //$banner_image_tmp = $_FILES['product_image']['tmp_name']; $imageFileType = strtolower(pathinfo($banner_image_name,PATHINFO_EXTENSION)); if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { $msg = "
Sorry, only JPG, JPEG, PNG & GIF files are allowed.
"; } else { if (move_uploaded_file($banner_image_name_upload)) { $set_width = 600; $set_height = 600; $banner_image_source_file = $banner_image_name_upload; $banner_image_save_file = $banner_image_name_upload; list($width_orig, $height_orig) = getimagesize($banner_image_source_file); $image_p = imagecreatetruecolor($set_width, $set_height); $image = imagecreatefromjpeg($banner_image_source_file); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $set_width, $set_height, $width_orig, $height_orig); imagejpeg($image_p, $banner_image_save_file, 75); $query = "insert into inventory_add_in_stock(`product_image`)values('".$file['name']."')"; echo $query; $result = mysqli_query($con,$query); if($result==true) { $msg = "
Record Save Successfully
"; } else { $msg = "
Unable to Save Please Try Again !!!
"; } } else { $msg = "
Unable to Proceeed Please Try Again !!!
"; } } } } function reArrayFiles(&$file_post) { $file_ary = array(); $file_count = count($file_post['name']); $file_keys = array_keys($file_post); for ($i=0; $i

这是我的重复问题。 我使用jQuery创建添加和删除更多文件。 现在,当我点击添加按钮时会发生什么,它会让我一次又一次地选择另一个文件。 我可以像这样上传多个文件。 但问题是,当我点击提交按钮插入数据库并将图像移动到文件夹时,它显示错误即

我在你的代码中找到了原因:

 $banner_image_tmp = $_FILES['product_image']['tmp_name']; 

$banner_image_tmp将返回一个数组。 所以,会有一个错误

 move_uploaded_file() expects parameter 1 to be string, array given 

http://php.net/manual/en/features.file-upload.multiple.php 。 你的代码应该是:

 if(isset($_POST['submit'])) { $file_ary = reArrayFiles($_FILES['product_image']); foreach ($file_ary as $file) { print 'File Name: ' . $file['name']; print 'File Type: ' . $file['type']; print 'File Size: ' . $file['size']; //Your custom code here } } function reArrayFiles(&$file_post) { $file_ary = array(); $file_count = count($file_post['name']); $file_keys = array_keys($file_post); for ($i=0; $i<$file_count; $i++) { foreach ($file_keys as $key) { $file_ary[$i][$key] = $file_post[$key][$i]; } } return $file_ary; }