1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Codeigniter实现多文件上传并创建多个缩略图

Codeigniter实现多文件上传并创建多个缩略图

时间:2019-11-13 05:46:53

相关推荐

Codeigniter实现多文件上传并创建多个缩略图

php教程|php手册

Codeigniter,多文件上传

php教程-php手册

该程序可以实现:

1.同时上传5张图片

2.同时生成两种尺寸的缩略图

3.保存到mysql

controllers:upload.php文件:

源码 卫星 采集,ubuntu网卡速率10,tomcat通信原理图,node 网站爬虫,php 开源中国,SEO和关键词广告的优缺点lzw

复制代码 代码如下:

mui登录模板源码下载,vscode中文说明,mysql ubuntu包,tomcat505,sqlite可以用队列吗,爬虫网页文件下载到本地,php 转小数,seo推广外包价格排名,前端个人博客网站模板下载,网页数据采集 java,dedecms淘宝模板免费下载lzw

<?php

class Upload extends Controller {

function go() {

if(isset($_POST[‘go’])) {

//初始化

$config[‘upload_path’] = ‘album/source’;

$config[‘allowed_types’] = ‘gif|jpg|png|bmp|jpeg’;

$config[‘encrypt_name’] = TRUE;

$config[‘remove_spaces’] = TRUE;

$config[‘max_size’] = ‘0’;

$config[‘max_width’] = ‘0’;

$config[‘max_height’] = ‘0’;

账号网店交易源码,ubuntu访问不了硬盘,部署tomcat设置项目名,开源主题爬虫,php参考书,有人说要教我学习seo有用吗lzw

$this->load->library(‘upload’, $config);

//170*170图片

$configThumb = array();

$configThumb[‘image_library’] = ‘gd2’;

$configThumb[‘source_image’] = ”;

$configThumb[‘create_thumb’] = TRUE;

$configThumb[‘maintain_ratio’] = TRUE; //保持图片比例

$configThumb[‘new_image’] = ‘album/thumb’;

$configThumb[‘width’] = 170;

$configThumb[‘height’] = 170;

//600*600图片

$configLarge = array();

$configLarge[‘image_library’] = ‘gd2’;

$configLarge[‘source_image’] = ”;

$configLarge[‘create_thumb’] = TRUE;

$configLarge[‘maintain_ratio’] = TRUE; //保持图片比例

$configLarge[‘new_image’] = ‘album/large’;

$configLarge[‘width’] = 600;

$configLarge[‘height’] = 600;

$this->load->library(‘image_lib’);

for($i = 1; $i < 6; $i++) {

$upload = $this->upload->do_upload(‘image’.$i);

if($upload === FALSE) continue;

$data = $this->upload->data();//返回上传文件的所有相关信息的数组

$uid = $this->session->userdata(‘uid’);

$uploadedFiles[$i] = $data;

if($data[‘is_image’] == 1) {

//初始化170*170

$configThumb[‘source_image’] = $data[‘full_path’]; //文件路径带文件名

$this->image_lib->initialize($configThumb);

$this->image_lib->resize();

//初始化600*600

$configLarge[‘source_image’] = $data[‘full_path’]; //文件路径带文件名

$this->image_lib->initialize($configLarge);

$this->image_lib->resize();

}

//插入图片信息到album表,插入的文件名为source目录文件名

$picture = array(

‘filename’ => $data[‘file_name’],

‘albumID’ => $this->uri->segment(4,0),

‘uid’ => $this->session->userdata(‘uid’),

‘dateline’ => time(),

‘describe’ => ”,

‘click’ => 0

);

$this->load->model(‘album_model’);

$this->album_model->AddPic($picture);

$picture = array();

}

}

/* 转出 */

$albumID = $this->uri->segment(4);

$backurl = site_url() . ‘photo/editpic/album/’ .$albumID;

$this->session->set_flashdata(‘msg’,’图片上传成功.’);

redirect($backurl,’refresh’);

}

}

views:new_pic.view文件:

复制代码 代码如下:

<form method="post" action="photo/upload/go/” enctype=”multipart/form-data”>

此外需要注意:

1.要一次上传几个文件,修改表单和控制器中循环部分的参数就好。

2.album\\source 是上传后原图目录 large和thumb分别是两次执行$this->image_lib->resize();后存放缩略图的目录

3.缩略图文件名如需和album\\source目录一致,请添加参数 $config[‘thumb_marker’] = ”;

4.$picture这部分数组是保存到数据库的东西,可以不用管了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。