• 活动
  • 会计
  • 税务
  • 指标
  • 会问
  • 税务
  • 站务
  • 话题
  • 原创
  • 這児 牛角股教员:未自定义个人炒股理念! 补充炒股理念!

    在使用 CodeIgniter(CI)框架进行开发时,你可以通过以下步骤实现从图像库中随机选取图片,生成三种规格的头像,并将其中一个规格的头像地址写入 user 表的 url 字段。假设你有一个名为 images 的目录存放图像库,并且你使用 CI 的模型、控制器和视图架构来完成这个任务。

    1. 目录结构

    确保你的项目目录结构如下:

    application/

        controllers/

            User.php

        models/

            User_model.php

        ...

    assets/

        images/

            library/

                image1.jpg

                image2.jpg

                ...

    ...

    2. 控制器 (User.php)

    在控制器中编写逻辑来随机选择图片并生成头像。

    defined('basePATH') OR exit('No direct script access allowed');


    class User extends CI_Controller {

        

        public function __construct() {

            parent::__construct();

            $this->load->model('User_model');

            $this->load->helper('file');

        }


        public function generate_avatars() {

            // 获取图像库路径

            $imageDir = FCPATH . 'assets/images/library/';

            

            // 获取图像库中的所有图片

            $images = get_filenames($imageDir);

            

            // 随机选择一张图片

            $randomImage = $images[array_rand($images)];

            

            // 图片路径

            $sourceImagePath = $imageDir . $randomImage;

            

            // 生成三种规格的头像

            $this->generate_thumbnail($sourceImagePath, $imageDir, 100, 100, 'small_');

            $this->generate_thumbnail($sourceImagePath, $imageDir, 200, 200, 'medium_');

            $this->generate_thumbnail($sourceImagePath, $imageDir, 300, 300, 'large_');

            

            // 选择一个规格的头像地址写入数据库(例如:中等规格)

            $avatarUrl = base_url() . 'assets/images/library/medium_' . $randomImage;

            

            // 写入数据库

            $userId = 1; // 假设用户ID为1,你可以根据实际情况调整

            $this->User_model->update_user_avatar($userId, $avatarUrl);

            

            echo "Avatar generated and URL updated successfully!";

        }


        private function generate_thumbnail($sourcePath, $destinationDir, $width, $height, $prefix) {

            // 加载CI的image_lib库

            $this->load->library('image_lib');

            

            // 配置缩略图参数

            $config['image_library'] = 'gd2';

            $config['source_image'] = $sourcePath;

            $config['new_image'] = $destinationDir . $prefix . basename($sourcePath);

            $config['maintain_ratio'] = FALSE;

            $config['width'] = $width;

            $config['height'] = $height;

            

            // 初始化image_lib并生成缩略图

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

            $this->image_lib->resize();

        }

    }

    ?>

    3. 模型 (User_model.php)

    在模型中编写更新用户头像URL的方法。

    defined('basePATH') OR exit('No direct script access allowed');


    class User_model extends CI_Model {


        public function update_user_avatar($userId, $avatarUrl) {

            $data = array(

                'url' => $avatarUrl

            );


            $this->db->where('id', $userId);

            $this->db->update('user', $data);

        }

    }

    ?>

    4. 数据库配置

    确保你的 user 表有一个 url 字段来存储头像地址。

    5.实现效果


    這児 - 支付
    本主题有 附件 需要支付0.00智慧币才能下载!智慧币不够?请移步获取智慧币 附件下载

    图像库  规格  头像  images  config  图片 

    生成海报
    给Ta打赏

    0

    打赏名单

    这是牛角股教员 创建于 2024-11-29 的主题,行情可能已经有所发展或改变!仅供参考,自行决策,自负盈亏!

    感觉不错

    这太水吧

    本站资源除原创外均来自网络或站内会员发表,如有侵权问题请联系本站及时删除;否则视为同意本站分享。
  • 0 回复 | 截至2025年03月31日 17时51分
    现在就添加一条回复
    03.31周一
    今日签到
    170

    這児站内货币介绍!详细请进:智慧币

    分类社区