codeigniter学习2

1 缓存
  /system/cache目录清空,设置权限为666,
$this->output->cache(5);

5是你想要你的缓存持续的分钟数,即在页面被重新生成前会持续多长时间使用静态HTML文件。

2 文件辅助函数
  this->load->helper('file');

r”为读,“w”为写(写入文件,覆盖已存在的数据),“a”为追加(写入文件,在已存在的数据后添加)。每种情

况下,添加一个“+”,例如“a+”,打开文件以进行读写操作。“a”和“w”,而不是“r”或“r+”,如果没有的话

,总是创建文件
write_file('e:/filetest.txt', 'hello world', 'a+');

  delete_files('c:/mydirectory/');删除目录下的所有文件

3 文件上传



在system/application/config/upload.php中

  <?php  if (!defined('BASEPATH')) exit('No direct script access allowed');
$config['upload_path'] = 'uploads';
?>
$this->load->library('upload', $config);
允许用户上传的文件类型。像这样设置:
$config['allowed_types'] = 'gif|jpg|png';

  上传的例子:、

$config['upload_path'] = 'uploads';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '8000';

$this->load->library('upload', $config);

if ( ! $this->upload->do_upload('file'))
{
echo $this->upload->display_errors();
}


4 crud套路:
  
增加,编辑:
function saveNews($do)
{
if ($do == "add")
{
$data = array(
'title'   => $this->input->post('title'),
'cid'     => $this->input->post('cid'),
'content' => $this->input->post('content'),
'time'    => (string) date('Y-m-j'),
);
$this->db->insert('news',$data);
if ($this->db->affected_rows())
{
return true;
}
else
{
return false;
}
}
else if ($do == "edit")
{
$data = array(
'title'   => $this->input->post('title'),
'cid'     => $this->input->post('cid'),
'content' => $this->input->post('content'),
);
$this->db->where('id',$this->input->post('id'));
$this->db->update('news', $data);
if ($this->db->affected_rows())
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
删除:
//删除单条新闻
if($id!=0)
{
//$this->db->where('id',(int)$id);
//$this->db->delete('news');
$this->db->delete('news', array('id' => $id));
return true;
}
//批量删除新闻
else
{
$this->db->where_in('id',$this->input->post('id'));
$this->db->delete('news');
return true;
}

5 session的用法
  设置:
$query = $this->db->get("admin");
if ($query->num_rows() > 0)
{

$session_data = array('admin'=>$this->input->post("username"));
$this->session->set_userdata($session_data);
                            }
判断session是否有:
if ($this->session->userdata("admin"))
{
redirect("admin/index");
}

  销毁session:
  $this->session->sess_destroy();

6 跨脚本XSS-CLEAN:
   $data = $this->input->xss_clean($data);
  要让其自动处理:
  你可以在application/config/config.php文件中设定:

$config['global_xss_filtering'] = TRUE;
而 $this->input->post('some_data', TRUE);第二个参数是设置XSS过滤

7 分页
   $this->load->library('pagination');

$config['base_url'] = site_url('admin/listnews');
$config['total_rows'] = $this->db->count_all('news');
$config['per_page'] = '1';
$config['num_links'] = '6';
$config['uri_segment'] = 3;


$config['full_tag_open'] = '<div class="pagination">';
$config['full_tag_close'] = '</div>';
$config['first_link'] = 'First';

$config['last_link'] = 'Last';


$this->pagination->initialize($config);

$this->db->select('id,title,time');

$this->db->order_by('id','desc');
$query=$this->db->get('news',$config['per_page'],$this->uri->segment(3));

return $query;

  $this->uri->segment(3)表明偏宜量从URL的第3段地址中获得:offset,它表示从哪行开始返回记录。第一个参数

(limit)从 $config['per_page'] 变量中取值,而第二个参数则通过 URL 辅助函数,从 URL 的第三段中取值:$this

->uri->segment(3),比如www.your-site.com/index.php/class/function/ID,所以大家可以看到第三段(index.php

的后面)代表 ID。所以允许采用如下的 URL:

        http://localhost/~yannick/pagination/index.php/books/index/10

你可能感兴趣的:(PHP,cache,脚本,J#,Access)