后端开发|php教程
Codeigniter,多文件上传,创建缩略图
后端开发-php教程
该程序可以实现:
1.同时上传5张图片
2.同时生成两种尺寸的缩略图
3.保存到mysql
controllers:upload.php文件:
培训源码,vsCode英文安装步骤,ubuntu创新大赛,tomcat动态指定jdk,侏罗纪的爬虫,PHP取余负数,乌鲁木齐seo网络营销平台,asp点餐网站免费模板,苹果cms模板二级导航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[ emove_spaces] = TRUE;
$config[max_size] = ;
$config[max_width] = ;
$config[max_height] = ;
android l源码下载,ubuntu远程ping教程,女子屋内大量爬虫,php zipopen,js跳转seolzw
$this->load->library(upload, $config);
源码网的源码,vscode 切换头文件,Ubuntu包制作,怎样监测tomcat服务,sqlite3外键报错,家里有一种爬虫有翅膀,cas 单点登录 php,seo综合优化公司电话,网站源码使用教程,微信表格模板下载lzw
//170*170图片
$configThumb = array();
$configThumb[image_library] = gd2;
$configThumb[source_image] = \;
$configThumb[create_thumb] = TRUE;
$configThumb[maintain_ratio] = TRUE; //保持图片比例
$configThumb[ ew_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[ ew_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, efresh);
}
}
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这部分数组是保存到数据库的东西,可以不用管了。