动态多文件上传并将路径存储在数据库
1、上传页面index.html
<!DOCTYPE html > <html> <head> <metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> <title>多图片上传</title> <script> //全局变量,代表文件域的个数,并用该变量区分文件域的name属性 var file_count =1; //增加文件 域 function additem(id){ if(file_count >9){ alert("注意:最多上传十张图片!"); return; } //定义行变量row;单元格变量cell;单元格内容变量str。 var row,cell,str; //在指定id的table中插入一行 row =eval("document.all["+‘"‘+id+‘"‘+"]").insertRow(); if(row !=null){ //设置行的背景颜色 row.bgColor="white"; //在行中插入单元格 cell = row.insertCell(); //设置str的值,包括一个文件域和一个删除按钮 str=‘<input onselectstart="return false" class="tf" onpaste="return false" type="file" name="file[‘+ file_count +‘]" onkeydown="return false;"/>‘; str +=" <input type="+‘"‘+"button"+‘"‘+" value="+‘"‘+"删除"+‘"‘+" onclick=‘deleteitem(this,"+‘"‘+"tb"+‘"‘+");‘>"; //文件域个数增加 file_count++; //设置单元格的innerHTML为str的内容 cell.innerHTML=str; } } //删除文件域 function deleteitem(obj,id){ var rowNum,curRow; curRow = obj.parentNode.parentNode; rowNum =eval("document.all."+id).rows.length -1; eval("document.all["+‘"‘+id+‘"‘+"]").deleteRow(curRow.rowIndex); file_count--; } </script> </head> <body> <formaction="upload.php"method="post"enctype="multipart/form-data"> <inputonselectstart="returnfalse"class="tf"onpaste="returnfalse"type="file"name=file[0]onkeydown="returnfalse;"/> <inputtype=buttonvalue="增加"onclick=‘additem("tb")‘/><br/> <tablecellspacing="0"id="tb"style="width:400px"> </table> <br/> <br/> <inputtype="submit"name="submit"value="上传"/> <inputtype="reset"name="reset"value="重置"/> </form> </body> </html>
2、表单处理页面
<?php include "conn.php"; //设置编码为UTF-8,以避免中文乱码 header(‘Content-Type:text/html;charset=utf-8‘); $fileArray = $_FILES[‘file‘]; //获取多个文件的信息 $upload_dir = ‘upload/‘; //保存上传文件的目录 foreach ($fileArray[‘error‘] as $key => $error) { if (($fileArray["type"][$key] == "image/gif" || $fileArray["type"][$key] == "image/jpeg" || $fileArray["type"][$key] == "image/png" || $fileArray["type"][$key] == "image/pjpeg") && $fileArray["size"][$key] < 1000000) { //限制上传文件大小_单位B。1M=1024KB=1048576 B if ($error == UPLOAD_ERR_OK) { //PHP常量UPLOAD_ERR_OK=0,表示上传没有出错 $temp_name = $fileArray[‘tmp_name‘][$key]; $file_name = date("YmdHis") . rand() . ‘.png‘; //日期+随机数命名图片 move_uploaded_file($temp_name, $upload_dir . $file_name); //存入数据库命名和路径 $title = $file_name; $path = $upload_dir . $file_name; // 注意valuse后的格式 (‘ " . $变量名 . " ‘) $query = mysql_query($conn, "insert into images(title,path) values (‘" . $title . "‘,‘" . $path . "‘)"); echo "<script>alert(‘上传成功!‘);window.location.href=‘up_images.php‘;</script>"; } else { echo "<script>alert(‘上传失败!‘);window.location.href=‘up_images.php‘;</script>"; } } }
原文地址:https://www.cnblogs.com/php99/p/9796946.html
时间: 2024-10-10 21:06:05