php上传多张图片
第一种:加后缀

代码实现(就是普通的上传图片,只是在外面加个foreach循环)
$allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
foreach ($_FILES AS $code => $file)
{
/* 判断用户是否选择了文件 */
if ((isset($file['error']) && $file['error'] == 0) || (!isset($file['error']) && $file['tmp_name'] != 'none'))
{
/* 检查上传的文件类型是否合法 */
if (!check_file_type($file['tmp_name'], $file['name'], $allow_file_types))
{
echo json_encode(['code' => 60000,'msg' => sprintf('您上传了一个非法的文件类型。该文件名为:%s', $file['name'])]);exit;
}
else
{
//照片
$logo_name = $user_id."_".time()."_".rand(1,1000).".jpg";
$path = './../images/Image/'.date('Ym')."/";
$to_path = ROOT_PATH.$path;
if (!file_exists($to_path)){
mkdir ($to_path);
chmod($to_path,0777);
}
$file_name = $to_path.$logo_name;
/* 判断是否上传成功 */
if (move_upload_file($file['tmp_name'], $file_name)){
$imgs = $imgs.$path.$logo_name.",";
}
else
{
//echo json_encode(['code' => 60001, 'msg' => '上传失败!请重新上传!']);exit;
echo json_encode(['code' => 60001, 'msg' => sprintf('上传文件 %s 失败,请检查 %s 目录是否可写。', $file['name'], $to_path)]);exit;
}
}
}
}
注:只要上传图片就会成功。
第二种:数组形式

代码实现
/* 允许上传的文件类型 */
$allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
foreach ($_FILES['imgs']['type'] AS $key => $val)
{
/* 判断用户是否选择了文件 */
if ((isset($_FILES['imgs']['error'][$key]) &&$_FILES['imgs']['error'][$key] == 0) || (!isset($_FILES['imgs']['error'][$key]) && $_FILES['imgs']['error'][$key] != 'none'))
{
/* 检查上传的文件类型是否合法 */
if (!check_file_type($_FILES['imgs']['tmp_name'][$key], $_FILES['imgs']['name'][$key], $allow_file_types))
{
echo json_encode(['code' => 60000,'msg' => sprintf('您上传了一个非法的文件类型。该文件名为:%s', $_FILES['imgs']['name'][$key])]);exit;
}
else
{
//照片
$logo_name = $user_id."_".time()."_".rand(1,1000).".jpg";
$path = './../images/Image/'.date('Ym')."/";
$to_path = ROOT_PATH.$path;
if (!file_exists($to_path)){
mkdir ($to_path);
chmod($to_path,0777);
}
$file_name = $to_path.$logo_name;
/* 判断是否上传成功 */
if (move_upload_file($_FILES['imgs']['tmp_name'][$key], $file_name)){
$imgs = $imgs.$path.$logo_name.",";
}
else
{
//echo json_encode(['code' => 60001, 'msg' => '上传失败!请重新上传!']);exit;
echo json_encode(['code' => 60001, 'msg' => sprintf('上传文件 %s 失败,请检查 %s 目录是否可写。', $file['name'], $to_path)]);exit;
}
}
}
}
注:只接受名称为imgs的文件,并且是数组型。
php上传多张图片的更多相关文章
- iOS -- 上传多张图片 后台(PHP)代码和上传一张的一样
// 上传多张图片 - (void)send { // 设置初始记录量为0 self.count = 0; self.upcount = 0; // 设置初始值为NO self.isUploadPic ...
- php用jquery-ajax上传多张图片限制图片大小
php用jquery-ajax上传多张图片限制图片大小 /** * 上传图片,默认大小限制为3M * @param String $fileInputName * @param number $siz ...
- 微信JSSDK上传多张图片
之前是使用for循环实现的,但是安卓手机没有问题,苹果手机只能上传最后一张图片. 好在有高手在前面趟路,实用的循环调用.苹果是没有,安卓不清楚.以下内容转自:http://leo108.com/pid ...
- 整理几个js上传多张图片的效果
一.普通的上传图片,张数不限制 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"&g ...
- 如何在IPFS里面上传一张图片
之前有好几人问过小编,想在IPFS里面上传一张图片.如何做? 今天小编就讲一下如何在IPFS里面上传.下载文件? 1 下载IPFS软件 下载地址:https://dist.ipfs.io/#go-ip ...
- Ajax+PHP实现异步上传多张图片
Ajax+PHP实现异步上传多张图片 HTML代码 <!-- date: 2018-04-27 13:46:55 author: 王召波 descride: 多张图片上传 --> < ...
- 1) 上传多张图片时 ,对 $_FILES 的处理. upload ; 2)fileinput 上传多张图片. 3) 修改,删除的时候删除原来的资源,图片 update, delete , 删除 4)生成器中两个字段上传图片的时候,要修改生成器生成的代码
1上传多张图片, 要对 $_FILES进行 重新处理. //添加 public function addCourseAlbumAction() { $CourseAlbumModel = new Co ...
- Okhttp3上传多张图片同时传递参数
之前上传图片都是直接将图片转化为io流传给服务器,没有用框架传图片. 最近做项目,打算换个方法上传图片. Android发展到现在,Okhttp显得越来越重要,所以,这次我选择用Okhttp上传图片. ...
- POST请求上传多张图片并携带参数
POST请求上传多张图片并携带参数 在iOS中,用POST请求携带参数上传图片是非常恶心的事情,HTTPBody部分完全需要我们自己来配置,这个HTTPBody分为3个部分,头部分可以携带参数,中间部 ...
- thinkphp3.2+cropper上传多张图片剪切图片
实现效果截图 点加号可以继续上传第二张图片 代码部<--引入cropper相关文件--> <link rel="stylesheet" href="/h ...
随机推荐
- 【C++】atof()
转自:https://blog.csdn.net/zhaoyl03/article/details/8176387 atof 是ascII to float的缩写,它将ascII字符串转换为相应的单精 ...
- Inheritance setUp() and tearDown() methods from Classsetup() and Classteardown
I have a general test class in my nosetests suit and some sub-classes, inheriting from it. The con ...
- VS在.NETFramework升级时遇到类库冲突如何解决
相信大家在开发环境中随着程序的不断升级,很多时间需要升级. NETFramework版本.今天项目中遇到的问题是从. NETFramework4.0升级到4.5时提示 Entityframework. ...
- Linux进程被杀掉(OOM killer),查看系统日志
基本概念: Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,然后防止内存耗尽而自动把该进程杀掉. ...
- Failed to resolve: common Open File 导入项目问题
Failed to resolve: common Open File Warning:Configuration 'compile' is obsolete and has been replac ...
- Python【每日一问】06
问:简述Python文件打开模式 r. w. a. r+.w+.a+之间的区别 答: 1.只读模式 r 文件存在:只读打开,只能执行读操作 文件不存在:报错 # ######## 只读模式r #### ...
- [sql]sql函数coalesce返回第一个非空的值
下面来看几个比较有用的例子: 首先,从MSDN上看看这个函数的使用方法,coalesce函数(下面简称函数),返回一个参数中非空的值.如: SELECT COALESCE(NULL, NULL, G ...
- C#获取当前路径的七种方法
//1.获取模块的完整路径. string path1 = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName; // ...
- 详解vue-cli脚手架项目-package.json
该随笔收藏自: 详解vue-cli脚手架项目-package.json package.json是npm的配置文件,里面设定了脚本以及项目依赖的库. npm run dev 这样的命令就写在packa ...
- 白话RPC
RPC,这个英文缩写在计算机专业里的意思是:Remote Procedure Call Protocol,远程过程调用协议,字面上的意思就是这个,不过还是有些懵逼. 下面就简单说明一下其内在原理,形象 ...