controllers

    技术2026-05-17  12

    <?php class Album extends RZ_Controller {     function Album () {         parent::Controller();         $this->_get_user();     }     function index () {         $this->browser();     }     function add () {         if ( !empty( $_POST['data'] ) ) {             $data  = $_POST['data'];             $this->load->model( 'Mdl_album' );             $this->Mdl_album->user_id = $this->user_id;             $album_id = $this->Mdl_album->add( $data );             if ( $album_id ) {                 $this->add_image( $album_id );                 $this->_msg( '', true );             } else {                 $this->_msg( '' );             }         } else {             $this->load->view( 'album/add_album' );         }     }     function del () {         if ( !empty( $_POST['to_del'] ) ) {             $this->load->model( 'Mdl_album' );             $this->load->model( 'Mdl_image' );             $this->Mdl_album->user_id = $this->user_id;             $this->Mdl_image->user_id = $this->user_id;             $to_del = explode( ',', $_POST['to_del'] );             foreach ( $to_del as $album_id ) {                 $this->Mdl_album->album_id = $album_id;                 if ( $this->Mdl_album->del() ) {                     $this->Mdl_image->album_id = $album_id;                     $this->Mdl_image->after_album_del();                 }             }             $this->_msg( '', true );         }     }     function edit () {         if ( !empty( $_POST['data'] ) ) {             $data  = $_POST['data'];             $album_id = intval( $data['album_id'] );             $this->load->model( 'Mdl_album' );             $this->Mdl_album->user_id = $this->user_id;             $this->Mdl_album->album_id = $album_id;             if ( $album_id and !empty( $data['album_name'] ) ) {                 if ( !$this->Mdl_album->rename_check( array( 'album_name' => $data['album_name'] ), array( 'album_id' => $album_id ) ) ) {                     $this->Mdl_album->update( $data );                     $this->_img( '', true );                 } else {                     $this->_img( '相册名称已被使用' );                 }             }             $this->_img( '相册名称不能为空' );         } else if ( !empty( $_POST['album_id'] ) ) {             $album_id = intval( $_POST['album_id'] );             $this->load->model( 'Mdl_album' );             $this->Mdl_album->user_id = $this->user_id;             $data = array();             $data['album'] = $this->Mdl_album->get_one( array(                 'fields' => array( 'album_id', 'album_name', 'remark' ),                 'conditions' => array( 'album_id' => $album_id )             ));             //echo '<pre>';print_r($data['album']);echo '</pre>';             $this->load->model( 'Mdl_image' );             $this->Mdl_image->user_id = $this->user_id;             $data['images'] = $this->Mdl_image->find( array(                 'fields' => array( 'image_id', 'name', 'path' ),                 'conditions' => array( 'album_id' => $album_id )             ));             $this->load->view( 'album/edit_album', $data );         }     }     function set_cover ( $album_id, $image_id ) {         $this->load->model( 'Mdl_album' );         $this->load->model( 'Mdl_image' );         $image = $this->Mdl_image->get_one( array(             'fields' => array( 'path' ),             'conditions' => array( 'image_id' => $image_id )         ));         $this->Mdl_album->user_id  = $this->user_id;         $this->Mdl_album->album_id = $album_id;         if ( $this->Mdl_album->set_cover( $image['path'] ) ) {         } else {         }     }     function browser ( $album_id = 0 ) {         $album_id = intval( $album_id );         $data = array();         if ( empty( $album_id ) ) {             $this->load->model( 'Mdl_album' );             $data['albums'] = $this->Mdl_album->find( array(                 'fields' => array( 'album_id', 'album_name', 'cover_image' ),                 'conditions' => array( 'created_by' => $this->user_id )             ));             $this->load->view( 'album/broswer_album', $data );         } else {             $this->load->model( 'Mdl_image' );             $data['album_id'] = $album_id;             $data['images'] = $this->Mdl_image->find( array(                 'fields' => array( 'image_id', 'name', 'path' ),                 'conditions' => array( 'album_id' => $album_id )             ));             $this->load->view( 'album/broswer_image', $data );         }     }     function add_image ( $album_id = 0 ) {         $album_id = intval( $album_id );         if ( empty( $_POST['album_id'] ) ) {             if ( empty( $album_id ) ) {                 $this->_msg( ERROR_ALBUM_NOT_EXISTS );             }         } else {             $album_id = intval( $_POST['album_id'] );         }         $this->load->model( 'Mdl_image' );         $this->Mdl_image->user_id = $this->user_id;         $this->_check_image();         $images = $this->_move_image( $album_id );         //echo '<pre>';print_r($images);echo '</pre>';exit;         foreach ( $images as $image ) {             $data = $image;             $data['album_id'] = $album_id;             $this->Mdl_image->add( $data );         }         $this->_msg( '', true );     }     function del_image () {         if ( !empty( $_POST['to_del'] ) ) {             $this->load->model( 'Mdl_image' );             $this->Mdl_image->user_id = $this->user_id;             $to_del = explode( ',', $_POST['to_del'] );             foreach ( $to_del as $image_id ) {                 $this->Mdl_image->image_id = $image_id;                 $image = $this->Mdl_image->get_one( array(                     'fields' => array( 'name', 'path' ),                     'conditions' => array( 'image_id' => $this->Mdl_image->image_id, 'created_by' => $this->user_id )                 ));                 if ( $this->Mdl_image->del() ) {                     unlink( ROOTPATH.'/'.$image['path'] );                 }             }             $this->_msg( '', true );         }     }     function _check_image () {         $file_maxsize = 2 * 1024 * 1024;//2M         $file_ext = array( 'jpg', 'jpeg', 'bmp', 'gif', 'png' );         foreach ( $_FILES as $file ) {             if ( $file['size'] > $file_maxsize ) {                 $this->_msg( $file['name'].' '.ERROR_IMAGE_SIZE_EXCEED );             }             $type = strtolower( $file['type'] );             $arr = explode( '/', $type );             if (  count( $arr ) < 2 or 'image' != $arr[0] or !in_array( $arr[1], $file_ext ) ) {                 $this->_msg( ERROR_IMAGE_TYPE );             }         }     }     function _move_image ( $album_id ) {         $file_path = 'suppliers';         if ( !is_dir( $file_path ) ) {             mkdir( $file_path );         }         $file_path .= '/userfiles';         if ( !is_dir( $file_path ) ) {             mkdir( $file_path );         }         $file_path .= '/'.$this->user_id;         if ( !is_dir( $file_path ) ) {             mkdir( $file_path );         }         $file_path .= '/albums';         if ( !is_dir( $file_path ) ) {             mkdir( $file_path );         }         //echo '<pre>';print_r($_FILES);echo '</pre>';exit;         $images = array();         $counter = 0;         $root = dirname(__FILE__);         foreach ( $_FILES as $file ) {             if ( 0 == $file['error'] ) {                 $ext = explode( '.', $file['name'] );                 $len = count( $ext );                 if ( $len < 2 ) {                     continue;                 }                 $name = $this->_getRandoms().'.'.$ext[$len-1];                 if ( move_uploaded_file( $file['tmp_name'], $file_path.'/'.$name ) ) {                     $images[$counter]['name'] = $file['name'];                     $images[$counter]['path'] = $file_path.'/'.$name;                     $img_info = getimagesize( ROOTPATH.'/'.$file_path.'/'.$name );                     $images[$counter]['width'] = $img_info[0];                     $images[$counter]['height'] = $img_info[1];                     $counter++;                 }             }         }         return $images;     }     function _getRandoms( $length = 10 ) {         $arr1 = range( 0, 9 );         $arr2 = range( 'a', 'z' );         $arr3 = range( 'A', 'Z' );         $pattern = array_merge( $arr1, $arr2, $arr3 ); //合并数组         $len = count( $pattern ) - 1;         $key = '';         for($i = 0; $i < $length; $i ++) {             $key .= $pattern[mt_rand(0, $len)];        //生成php随机数         }         return $key;     } }

    最新回复(0)