CodeIgniter上传图片成功的全部过程分享


Posted in PHP onAugust 12, 2013

最近几天正在做一个小型CMS,用到图片上传了,想利于CodeIgniter的上传类去实现,但测试中有好多问题,我把经过和要注意的地方分享一下!

<?php echo form_open_multipart('picture/upload');?>
<?php echo form_upload('userfile');?> 
/*注意,这里是userfile,$this->upload->do_upload(),这里do_upload默认上传文件的表单名为userfile;
当然也可以使用do_upload($filename),这里的$filename一定要和form_upload()里面的字符串一致.
我在这里范了糊涂,最后看了手册才明白,希望大家注意哦!
*/
<?php echo form_close();?>
controller代码:
 function upload() {
        $config['upload_path'] = './uploads/'; 
        /*这里的uploads是相对于index.php的,也就是入口文件,这个千万不要弄错哦!
        否则就会报错"The upload path does not appear to be valid."; 
        */
        $config['allowed_types'] = 'gif|jpg|png';
        /*我试着去上传其它类型的文件,这里一定要注意顺序! 
        A problem was encountered while attempting to move the uploaded file to the final destination.
        这个错误一般是上传文件的文件名不能是中文名,这个很郁闷!还未解决,大家可以用其它方法,重新改一下文件名就可以解决了!  
        $config['allowed_types'] = 'zip|gz|png|gif|jpg';(正确)
        $config['allowed_types'] = 'png|gif|jpg|zip|gz';(错误)
        */
        $config['max_size'] = '1024';
        $config['max_width']  = '1024';
        $config['max_height']  = '768';
        $config['file_name']  = time(); //文件名不使用原始名
        $this->load->library('upload', $config);
        if(!$this->upload->do_upload()) {
                echo $this->upload->display_errors();
        }else{
             $data['upload_data']=$this->upload->data();  //文件的一些信息
             $img=$data['upload_data']['file_name'];  //取得文件名
             echo $img."<br>";
             foreach($data['upload_data'] as $item => $value){
             echo $item.":".$value."<br>";
            }
       }
}
PHP 相关文章推荐
基于initPHP的框架介绍
Apr 18 PHP
如何用php获取程序执行的时间
Jun 09 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
php读取文件内容到数组的方法
Mar 16 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
php readfile下载大文件失败的解决方法
May 22 PHP
PHP单例模式简单用法示例
Jun 23 PHP
php爬取天猫和淘宝商品数据
Feb 23 PHP
PHP PDOStatement::setAttribute讲解
Feb 01 PHP
Laravel5.4框架中视图共享数据的方法详解
Sep 05 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
php实现MD5加密16位(不要默认的32位)
Aug 12 #PHP
php中的Base62类(适用于数值转字符串)
Aug 12 #PHP
PHP实现把数字ID转字母ID
Aug 12 #PHP
PHP计算2点经纬度之间的距离代码
Aug 12 #PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 #PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 #PHP
浅析linux下apache服务器的配置和管理
Aug 10 #PHP
You might like
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
有关php运算符的知识大全
2011/11/03 PHP
php实现的通用图片处理类
2015/03/24 PHP
thinkphp 5框架实现登陆,登出及session登陆状态检测功能示例
2019/10/10 PHP
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
javascript 程序库的比较(一)之DOM功能
2010/04/07 Javascript
jQuery移除tr无效的解决方法(tr是动态添加)
2014/09/22 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
JavaScript中的对象与JSON
2015/07/03 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
实例浅析js的this
2016/12/11 Javascript
js生成随机数方法和实例
2017/01/17 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
详解微信小程序 wx.uploadFile 的编码坑
2017/01/23 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
vue页面跳转实现页面缓存操作
2020/07/22 Javascript
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
python查看模块,对象的函数方法
2018/10/16 Python
修改python plot折线图的坐标轴刻度方法
2018/12/13 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
pyqt5中QThread在使用时出现重复emit的实例
2019/06/21 Python
100行Python代码实现每天不同时间段定时给女友发消息
2019/09/27 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
Selenium Webdriver元素定位的八种常用方式(小结)
2021/01/13 Python
精伦电子Java笔试题
2013/01/16 面试题
电气自动化个人求职信范文
2014/02/03 职场文书
马智宇结婚主持词
2014/04/01 职场文书
终止合同协议书
2014/04/17 职场文书
前台岗位职责范本
2015/04/16 职场文书
文明上网主题班会
2015/08/14 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server