Example #1
0
function get_avatar($uid, $size = 48)
{
    $size = in_array($size, array('160', '100', '48')) ? $size : '48';
    $path = config_item('site_attach_dir') . DIRECTORY_SEPARATOR . 'avatar' . DIRECTORY_SEPARATOR;
    $avatar = build_dir($uid) . $uid . '_' . $size . '.png';
    if (@is_file(FCPATH . $path . $avatar) === true) {
        return base_url($path . $avatar);
    } else {
        return base_url($path . build_dir(0) . '0_' . $size . '.png');
    }
}
Example #2
0
 /**
  * 从硬盘删除文章头图
  * 
  * @access public
  * @params int $aid 文章ID
  * @return NULL
  */
 public function unlink_article_image($aid)
 {
     $aid = (int) $aid;
     $size = array(160, 48);
     $path = config_item('site_attach_dir') . DIRECTORY_SEPARATOR . 'article' . DIRECTORY_SEPARATOR;
     foreach ($size as $v) {
         $image = FCPATH . $path . build_dir($aid) . $aid . '_' . $v . '.png';
         if (@is_file($image) === true) {
             @chmod($image, 0777);
             @unlink($image);
         }
     }
 }
Example #3
0
 public function crop_image_action()
 {
     $x = (int) $this->input->get('x');
     $y = (int) $this->input->get('y');
     $w = (int) $this->input->get('w');
     $h = (int) $this->input->get('h');
     if ($w < 100 or $h < 100) {
         JSON('error', '请选择一个合适的图像区域!');
     }
     $hid = (int) $this->input->get('hid');
     $imagepath = $this->input->get('path', true);
     $imagepath = FCPATH . str_replace(base_url(), '', $imagepath);
     if (empty($imagepath) or @is_file($imagepath) === false) {
         JSON('error', '找不到需要裁切的图片!');
     }
     $imageinfo = pathinfo($imagepath);
     switch ($imageinfo['extension']) {
         case 'jpg':
         case 'jpeg':
             $image = imagecreatefromjpeg($imagepath);
             break;
         case 'png':
             $image = imagecreatefrompng($imagepath);
             break;
         case 'gif':
             $image = imagecreatefromgif($imagepath);
             break;
         default:
             JSON('error', '您上传的文件格式不正确!');
     }
     $copy = $this->_image_crop($image, $x, $y, $w, $h);
     if ($copy === false) {
         JSON('error', '未知错误,请重试!');
     }
     $temppath = FCPATH . $this->_attach_dir . 'huangye' . DIRECTORY_SEPARATOR . build_dir($hid);
     if (@is_dir($temppath) === false) {
         create_dir($temppath);
     }
     if (@is_writable($temppath) === false) {
         @chmod($temppath, 0777);
     }
     $savepath = $temppath . $hid . '.png';
     imagepng($copy, $savepath);
     imagedestroy($copy);
     $this->load->library('image_lib');
     list($width, $height, $type, $attr) = getimagesize($savepath);
     $array = array(array('w' => 100, 'h' => 100), array('w' => 50, 'h' => 50));
     foreach ($array as $size) {
         if ($width > $size['w'] or $height > $size['h']) {
             $setwidth = $size['w'];
             $setheight = $size['h'];
         } else {
             $setwidth = $width;
             $setheight = $height;
         }
         $config['source_image'] = $savepath;
         $config['new_image'] = $hid . '_h' . $size['w'] . '.png';
         $config['height'] = $setheight;
         $config['width'] = $setwidth;
         $this->image_lib->initialize($config);
         $this->image_lib->resize();
     }
     $show_img = 'http://weinan.fun-x.cn/attach/huangye/00/01/' . $hid . '_h100.png';
     $data_img = array('img_url' => $show_img);
     $this->db->where('hid', $hid);
     $this->db->update('huangye', $data_img);
     unlink($imagepath);
     unlink($savepath);
     JSON('success', '头图已保存成功!', $show_img);
 }