Thinkphp3.2簡單解決多文件上傳只上傳一張的問題
html簡單頁面:
index.html代碼:
<form action="{:U('index/upload')}" method="post" enctype="multipart/form-data"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> 文件上傳:<input type="file" name = "test[]"> <input type="submit" value = "提交"> </form>
控制器IndexController.class.php代碼:
<?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { public function index(){ $this->display(); } public function upload(){ if(IS_POST){ $config = array( 'maxSize' => 3145728, 'rootPath' => './Uploads/', 'savePath' => '', 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())), 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => true, 'subName' => array('date','Ymd'), ); $upload = new \Think\Upload($config);// 實例化上傳類 $info = $upload->upload(); if(!$info) { $this->error($upload->getError()); }else{ foreach($info as $file){ echo $file['savepath'].$file['savename']; } } }else{ $this->display(); } } }
上傳結果顯示:
好多人在進行多文件上傳的時候,最后發(fā)現(xiàn)只是上傳了一張,主要就是命名所致,因為是同樣的名字,所以最后就剩一張圖片
解決方法:第一種:
$config = array( 'maxSize' => 3145728, 'rootPath' => './Uploads/', 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => true, 'subName' => array('date','Ymd'), 'saveRule' => '', );
置空$config里面的saveRule,上傳后的名稱為:59c8d38cdb968.jpg
若是感覺這種命名不可靠,可采取第二種方法:
$config = array( 'maxSize' => 3145728, 'rootPath' => './Uploads/', 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())), 'exts' => array('jpg', 'gif', 'png', 'jpeg'), 'autoSub' => true, 'subName' => array('date','Ymd'), );
設置$config中: 'saveName' => array('uniqid', mt_rand(1,999999).'_'.md5(uniqid())),
其最后的結果類似于:672563_30ad4d8a2aafc832363de8edc1940b5c59c8d44a303f9.jpg
然,命名可根據(jù)需要自行修改,多文件上傳方法很多,這里只是提供個簡單便捷的方法!
以上這篇Thinkphp3.2簡單解決多文件上傳只上傳一張的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- layui框架實現(xiàn)文件上傳及TP3.2.3(thinkPHP)對上傳文件進行后臺處理操作示例
- ThinkPHP結合AjaxFileUploader實現(xiàn)無刷新文件上傳的方法
- Thinkphp多文件上傳實現(xiàn)方法
- thinkPHP3.2簡單實現(xiàn)文件上傳的方法
- thinkphp表單上傳文件并將文件路徑保存到數(shù)據(jù)庫中
- 封裝ThinkPHP的一個文件上傳方法實例
- Thinkphp5 自定義上傳文件名的實現(xiàn)方法
- ThinkPHP實現(xiàn)帶驗證碼的文件上傳功能實例
- Thinkphp5+uploadify實現(xiàn)的文件上傳功能示例
- Thinkphp5框架實現(xiàn)圖片、音頻和視頻文件的上傳功能詳解
- ThinkPHP5.0多個文件上傳后找不到臨時文件的修改方法
- Thinkphp框架+Layui實現(xiàn)圖片/文件上傳功能分析
相關文章
淺談php中的訪問修飾符private、protected、public的作用范圍
下面小編就為大家?guī)硪黄獪\談php中的訪問修飾符private、protected、public的作用范圍。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-11-11PHP設計模式之中介者模式(Mediator Pattern)入門與應用案例詳解
這篇文章主要介紹了PHP設計模式之中介者模式(Mediator Pattern),結合實例形式詳細分析了PHP中介者模式的基本概念、原理、應用案例與相關操作注意事項,需要的朋友可以參考下2019-12-12vscode運行php報錯php?not?found解決辦法
這篇文章主要給大家介紹了關于vscode運行php報錯php?not?found的解決辦法,這個問題可能是由于您的計算機上沒有安裝PHP或者VS?Code沒有正確配置PHP的路徑所導致的,文中將解決的辦法介紹的很詳細,需要的朋友可以參考下2023-07-07laravel 5 實現(xiàn)模板主題功能(續(xù))
前面一篇文章,我們簡單討論了laravel模板主題功能,本文我們繼續(xù)探討laravel模板主題功能的實現(xiàn),本次實現(xiàn)比較重,有興趣慢慢看吧。2015-03-03Thinkphp5+uploadify實現(xiàn)的文件上傳功能示例
這篇文章主要介紹了Thinkphp5+uploadify實現(xiàn)的文件上傳功能,結合實例形式分析了Thinkphp5結合uploadify實現(xiàn)文件上傳的具體步驟、原理與相關操作技巧,需要的朋友可以參考下2018-05-05Laravel5.1 框架模型多態(tài)關聯(lián)用法實例分析
這篇文章主要介紹了Laravel5.1 框架模型多態(tài)關聯(lián)用法,結合實例形式分析了laravel5.1框架模型多態(tài)關聯(lián)具體實現(xiàn)、使用方法與操作注意事項,需要的朋友可以參考下2020-01-01