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 相关文章推荐
PHP一些有意思的小区别
Dec 06 PHP
PHP array 的加法操作代码
Jul 24 PHP
php curl 伪造IP来源的实例代码
Nov 01 PHP
解决php接收shell返回的结果中文乱码问题
Jan 23 PHP
PHP中Fatal error session_start()错误解决步骤
Aug 05 PHP
PHP多线程类及用法实例
Dec 03 PHP
PHP实现支持SSL连接的SMTP邮件发送类
Mar 05 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
php多进程应用场景实例详解
Jul 22 PHP
laravel validate 设置为中文的例子(验证提示为中文)
Sep 29 PHP
如何在PHP中使用数组
Jun 09 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
以文本方式上传二进制文件的PHP程序
2006/10/09 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
2016/11/05 PHP
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
js模拟类继承小例子
2010/07/17 Javascript
Extjs EditorGridPanel中ComboBox列的显示问题
2011/07/04 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
jQuery中Form相关知识汇总
2015/01/06 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
javascript从作用域链谈闭包
2020/07/29 Javascript
Jquery zTree 树控件异步加载操作
2016/02/25 Javascript
JQuery 设置checkbox值二次无效的解决方法
2016/07/22 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
js无提示关闭浏览器窗口的两种方法分析
2016/11/06 Javascript
angular中的http拦截器Interceptors的实现
2017/02/21 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
详解js加减乘除精确计算
2019/03/19 Javascript
javascript实现扫雷简易版
2020/08/18 Javascript
python标准日志模块logging的使用方法
2013/11/01 Python
python抓取网页图片并放到指定文件夹
2014/04/24 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python 出现错误TypeError: ‘NoneType’ object is not iterable解决办法
2017/01/12 Python
Python 列表理解及使用方法
2017/10/27 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
Pycharm创建python文件自动添加日期作者等信息(步骤详解)
2021/02/03 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
nohup的用法
2014/08/10 面试题
会议活动邀请函
2014/01/27 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书
毕业实习感受与体会
2015/05/26 职场文书
工作一年自我鉴定
2019/06/20 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
MySQL 数据库 增删查改、克隆、外键 等操作
2022/05/11 MySQL