本文实例讲述了TP5框架实现上传多张图片的方法。分享给大家供大家参考,具体如下:
1、效果图(每点击一次‘添加选项',就会有一个新的 file 框来添加新的图片)
2、view
1
2
3
4
5
6
7
8
9
10
11
|
<!--不要忘了引入jquery文件-->
<!-- post传值方式和文件传输协议一定要加上 -->
< input type = "file" name = "image[]" >
< input type = "button" id = "add" name = "add" value = "+ 添加选项" >
< button type = "submit" name = "submit" >添加</ button >
< script type = "text/javascript" >
$("#add").click(function(){
$(this).before('< input type = "file" name = "image[]" >');
});
</ script >
|
3、controller
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//接收从view来的图片数组
$image =request()->file( 'image' );
//实例化模型,并调用里面的添加图片的方法
$details = new Details();
$info = $details ->add( $image );
if ( $info === 1)
{
return '操作成功' ;
}
else
{
return '操作失败' ;
}
|
4、model
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
//将接收到的 $image foreach遍历添加
foreach ( $image as $image )
{
//实例化模型
$details = new Details();
$time = date ( 'Ymd' ,time());
//将当前的时间戳定义为文件名
$filename =time();
//检测是否存在存放图片的文件夹
if (! file_exists (ROOT_PATH . 'public' . DS . 'static' . DS . 'img' ))
{
//创建文件
mkdir (ROOT_PATH . 'public' . DS . 'static' . DS . 'img' );
}
//上传图片
$info = $image ->move(ROOT_PATH . 'public' . DS . 'static' . DS . 'img' .DS. $time , $filename );
//将图片路径存放在数据库中
$details ->url = $time .DS. $info ->getFileName();
$details ->allowField(true)->save();
}
return 1;
|
5、over over over
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
原文链接:https://blog.csdn.net/weixin_42068782/article/details/84104956