php 簡單多檔上傳
多檔上傳只要在 input file 的地方加上 multiple,並把 name 設為陣列就可以了。
上傳後用迴圈把值取出來。
如果想要限制上傳圖片格式。
寫入資料庫。
移動檔案。
如果資料夾不存在則建立一個。
如果檔名重複則重新命名。
Multiple File Upload with PHP and MySQL
- <form action="upload.php" method="POST" enctype="multipart/form-data">
- <input type="file" name="files[]" multiple/>
- <input type="submit"/>
- </form>
上傳後用迴圈把值取出來。
- foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
- $file_name = $key.$_FILES['files']['name'][$key];
- $file_size =$_FILES['files']['size'][$key];
- $file_tmp =$_FILES['files']['tmp_name'][$key];
- $file_type=$_FILES['files']['type'][$key];
- }
如果想要限制上傳圖片格式。
- $file_ext=explode('.',$_FILES['image']['name'][$key]) ;
- $file_ext=end($file_ext);
- $file_ext=strtolower(end(explode('.',$_FILES['image']['name'][$key])));
- if(in_array($file_ext,$extensions ) === false){
- $errors[]="extension not allowed";
- }
寫入資料庫。
- $query="INSERT into upload_data (`EMP_CODE`,`FILE_NAME`,`FILE_SIZE`,`FILE_TYPE`) VALUES('$codes','$file_name','$file_size','$file_type'); ";
移動檔案。
- if(is_dir($dir)==false){
- move_uploaded_file($file_tmp,images/".$file_name);
- }
如果資料夾不存在則建立一個。
- if(is_dir($dir)==false){
- mkdir("$dir", 0700);
- }
如果檔名重複則重新命名。
- if(is_dir("emp_data/$codes/".$file_name)==false){
- move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
- }else{
- rename($file_tmp, "$desired_dir/".$file_name);
- }
Multiple File Upload with PHP and MySQL
留言