发新话题
打印

[程序 App] [1.6.1]重命名上传的文件

[1.6.1]重命名上传的文件

在上传的model的方法里,在最前面加上:
复制内容到剪贴板
PHP 代码:

$value = $_FILES['userfile']['name'];

$value = utf8_decode($value);

$value = strtr($value ,
"xA1xAAxBAxBFxC0xC1xC2xC3xC5xC7xC8xC9xCAxCBxCCxCDxCExCFxD0xD1xD2xD3xD4xD5xD8xD9xDAxDBxDDxE0xE1xE2xE3xE5xE7xE8xE9xEAxEBxECxEDxEExEFxF0xF1xF2xF3xF4xF5xF8xF9xFAxFBxFDxFF",
"!ao?AAAAACEEEEIIIIDNOOOOOUUUYaaaaaceeeeiiiidnooooouuuyy");

$value = preg_replace('/( +)/i', '_', $value);

$value = strtolower($value);

$_FILES['userfile']['name'] = $value;
//你的代码可能会像这样:
function new_sample_file_add($id)
  {
    $value = $_FILES['userfile']['name'];
    $value = utf8_decode($value);
    $value = strtr($value ,
    "xA1xAAxBAxBFxC0xC1xC2xC3xC5xC7xC8xC9xCAxCBxCCxCDxCExCFxD0xD1xD2xD3xD4xD5xD8xD9xDAxDBxDDxE0xE1xE2xE3xE5xE7xE8xE9xEAxEBxECxEDxEExEFxF0xF1xF2xF3xF4xF5xF8xF9xFAxFBxFDxFF",
    "!ao?AAAAACEEEEIIIIDNOOOOOUUUYaaaaaceeeeiiiidnooooouuuyy");
    $value = preg_replace('/( +)/i', '_', $value);
    $value = date('Y_m_d_H_i_s__').$this->session->userdata('username').'_'.$value;
    $value = strtolower($value);
    $_FILES['userfile']['name'] = $value;
    $this->load->library('upload');
    $this->load->helper('date');
    $config = array();
    $upload_path = 'upload/myconsumeo/'.date('Y').'/';
    $config['upload_path'] = './'.$upload_path;
    $config['allowed_types'] = 'gif|jpg|png|pdf|doc|xsl|rar|zip';
    $config['max_size'] = '10240';
    //    $config['max_width']  = '2048';
    //    $config['max_height']  = '1536';
    //    $config['encrypt_name']  = true;
    $this->upload->initialize($config);
    if ( ! $this->upload->do_upload())
    {
      $this->session->set_flashdata('my_info', $this->upload->display_errors());
      redirect('my/new_sample_file_add/'.$id);
    }
    else
    {
      ////////////////////////prepare insert to database///////////////////
      $data = $this->upload->data();
      $file_url = $data['raw_name'].$data['file_ext'];
      /////////////////////////insert into database//////////
      $this->session->set_flashdata('my_info', 'File upload successed');
      $temp = array(
      'new_sample_id' => $id,
      'description' => $_POST['description'],
      'file_url '=> $upload_path . $data['orig_name'],
      //    'file_name'=>$data['file_name'],
      'file_type'=>$data['file_type'],
      'file_size'=>$data['file_size'],
      'file_name'=>$data['orig_name'],
      'date_add' =>date("Y-m-d H:i:s",time()),
      );
      $this->db->insert('my_new_sample_file',$temp);
      redirect('my/my_samples/'.$id);
    }
  }
 
:lol :lol
本帖最近评分记录
  • Hex 威望 +5 原创内容 2008-4-25 18:28
CIAO,CI...

TOP

不错,学习了,谢谢楼主

TOP

可不可以在清楚点
我在昨天就遇到上传图片的问题
CI可以自己重命名,但我的流程是:先插入数据库中数据,如果插入成功,然后上传图片,但问题是我的图片名字必须事先知道
混日子最对不起的是自己

TOP

感谢分享。。。。学习了。。。
CodeIgniter,JQuery,Ext
http://www.girlsgroup.cn

TOP

发新话题