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

最近几天正在做一个小型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>";

            }

       }
}

时间: 2024-10-14 17:04:56

CodeIgniter上传图片成功的全部过程分享_php技巧的相关文章

PHP zip扩展Linux下安装过程分享_php实例

1.依次运行以下命令 复制代码 代码如下: wget http://pecl.php.net/get/zip-1.8.10.tgz#tar zxvf zip-1.8.3.tgz#cd zip-1.8.3#/opt/php/bin/phpize   (对应的phpize路径)http://yige.org/#./configure --with-php-config=/opt/php/bin/php-config (对应的php-config路径)#make#make install 2.生成的模

windwos下使用php连接oracle数据库的过程分享_php实例

要使用php连接oracle,基本条件是1.需要你安装了php.2.安装了oracle.3.配置了tnsname.ora.本地命令行使用sqlplus能够连接到oracle. 根据你机器的版本选对64bit或者32bit的php程序,我们使用php的oci8扩展连接oracle 安装好php后,打开oci8扩展, 写一段连接oracle的ora.php代码 复制代码 代码如下: <?php $conn = oci_connect('hr', 'welcome', 'MYDB');if (!$co

非常经典的PHP文件上传类分享_php技巧

文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中. <?php /** +----------------------------------------------------------------------------- * 文件上传类 +----------------------------------------

PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享_php技巧

对于学习php的新手,由于网上的配置方法都是很久之前的,及时性不高,环境配置往往令人很头疼,我初学php配置环境时配置了3个晚上,每次总是会出现这样或那样的问题,如今把最新版的PHP5.5.15+Apache2.4.10+MySQL5.6.20,win7x86的配置方法分享给大家,64位的同理,不过下载的软件需要也是64位的. 环境:win7 32.(64位的同理,下载相关软件必须是对应的64位版本)              PHP5.5.15(php-5.5.15-Win32-VC11-x8

php简单的上传类分享_php技巧

本文实例为大家分享了php上传类,供大家参考,具体内容如下 <?php class UploadFile{ var $inputName; //控件名 var $allowType = array( 'image/gif','image/jpg','image/jpeg','image/png','image/x-png','image/pjpeg' ); //上传类型 var $allowSize = 2097152; //限制大小 var $saveDir = UPLOAD; //保存目录

php实现上传图片保存到数据库的方法_php技巧

php实现上传图片保存到数据库的方法.分享给大家供大家参考.具体分析如下: php 上传图片,一般都使用move_uploaded_file方法保存在服务器上.但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能正常使用(使用图片服务器的除外) 如果把图片数据保存到数据库中,多台服务器间可以实现文件共享,节省空间. 首先图片文件是二进制数据,所以需要把二进制数据保存在mysql数据库. mysql数据库提供了BLOB类型用于存储大量数据,BLOB是一个二进制对象,能容纳不同大小的数据

php处理单文件、多文件上传代码分享_php技巧

php处理  单文件.多文件上传实例代码,供大家参考,具体内容如下  后台处理文件submit_form_process.php  <?php /****************************************************************************** 参数说明: $max_file_size : 上传文件大小限制, 单位BYTE $destination_folder : 上传文件路径 $watermark : 是否附加水印(1为加水印,其他为

PHP中使用Memache作为进程锁的操作类分享_php技巧

<?php // 使用Memache 作为进程锁 class lock_processlock{ // key 的前缀 protected $sLockKeyPre; // 重试间隔 protected $iLockRetryInterval; //重试次数 protected $iLockRetryCount; //锁的过期时间 protected $iLockCacheTimeout; // 锁过期后的回调函数 protected $onLockTimeoutFunc; // memache

php牛逼的面试题分享_php技巧

1.nginx使用哪种网络协议? nginx是应用层 我觉得从下往上的话 传输层用的是tcp/ip 应用层用的是http fastcgi负责调度进程 2. <? echo 'hello tusheng' ; ?> 没有输出结果, 可能是什么原因, 简述的解决此问题的过程(提示: 语法没有问题) 可能服务器上面没有开启短标签short_open_tag =设置为Off,,php.ini开启短标签控制参数: short_open_tag = On 3. 简述下面程序的输出结果, 简要说明为什么,