簡體   English   中英

將生成的QR碼圖像保存到路徑中

[英]Save generated QR code image into path

我正在從數據庫動態生成QR代碼,我需要將它們存儲在指定的路徑中。 當生成QR碼並單獨保存時,但是現在批量生成它們,我需要將它們存儲在我的首選路徑中。 我該如何實現?

這是我的功能

function print_qr1(){
    $qr_code_config = array();
    $qr_code_config['cacheable']    = $this->config->item('cacheable');
    $qr_code_config['cachedir']     = $this->config->item('cachedir');
    $qr_code_config['imagedir']     = $this->config->item('imagedir');
    $qr_code_config['errorlog']     = $this->config->item('errorlog');
    $qr_code_config['ciqrcodelib']  = $this->config->item('ciqrcodelib');
    $qr_code_config['quality']      = $this->config->item('quality');
    $qr_code_config['size']         = $this->config->item('size');
    $qr_code_config['black']        = $this->config->item('black');
    $qr_code_config['white']        = $this->config->item('white');
    $this->ci_qr_code->initialize($qr_code_config);

    // get full name and user details
    $user_details['doctordata'] = $this->user->get_users();
    foreach ($user_details['doctordata'] as $value) {
        $image_name = $value->DOCTORCODE . ".png";

        $codeContents = "www.36d.co.in/qr_code=";
        $codeContents .= $value->DOCTORCODE;
        $codeContents .= "\n";

        $params['data'] = $codeContents;
        $params['level'] = 'H';
        $params['size'] = 10;

        $params['savename'] = FCPATH . $qr_code_config['imagedir'] . $image_name;
        $this->ci_qr_code->generate($params);

        $this->data['qr_code_image_url'] = base_url() . $qr_code_config['imagedir'] . $image_name;

        // save image path in tree table
        $this->user->change_userqr($value->DOCTORCODE);
        // then redirect to see image link
        $file = $params['savename'];
         function do_upload($file){
            $config['upload_path']          = './uploads/qrcode/';
            $config['allowed_types']        = 'png';
            $config['max_size']             = 0;
            $config['max_width']            = 0;
            $config['max_height']           = 0;

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

            if ( ! $this->upload->do_upload($file))
            {
                    $error = array('error' => $this->upload->display_errors());

                    $this->load->view('upload_form', $error);
            }
            else
            {
                    $data = array('upload_data' => $this->upload->data());

                    $this->load->view('upload_success', $data);
            }
        }

希望這對您有幫助:

您的print_qr1方法應如下所示:

function print_qr1()
{
    $qr_code_config = array();
    $qr_code_config['cacheable']    = $this->config->item('cacheable');
    $qr_code_config['cachedir']     = $this->config->item('cachedir');
    $qr_code_config['imagedir']     = $this->config->item('imagedir');
    $qr_code_config['errorlog']     = $this->config->item('errorlog');
    $qr_code_config['ciqrcodelib']  = $this->config->item('ciqrcodelib');
    $qr_code_config['quality']      = $this->config->item('quality');
    $qr_code_config['size']         = $this->config->item('size');
    $qr_code_config['black']        = $this->config->item('black');
    $qr_code_config['white']        = $this->config->item('white');
    $this->ci_qr_code->initialize($qr_code_config);

    // get full name and user details
    $user_details['doctordata'] = $this->user->get_users();
    foreach ($user_details['doctordata'] as $value) {
        $image_name = $value->DOCTORCODE . ".png";

        $codeContents = "www.36d.co.in/qr_code=";
        $codeContents .= $value->DOCTORCODE;
        $codeContents .= "\n";

        $params['data'] = $codeContents;
        $params['level'] = 'H';
        $params['size'] = 10;

        $params['savename'] = FCPATH . $qr_code_config['imagedir'] . $image_name;
        $this->ci_qr_code->generate($params);

        $this->data['qr_code_image_url'] = base_url().$qr_code_config['imagedir']. $image_name;

        // save image path in tree table
        $this->user->change_userqr($value->DOCTORCODE);
        // then redirect to see image link
        $file = $params['savename'];
        my_upload($file);
    }
}

這是你的my_upload方法

function my_upload($file)
{
    $config['upload_path']          = './uploads/qrcode/';
    $config['allowed_types']        = 'png';

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

    if ( ! $this->upload->do_upload($file))
    {
        $error = array('error' => $this->upload->display_errors());

        $this->load->view('upload_form', $error);
    }
    else
    {
        $data = array('upload_data' => $this->upload->data());

        $this->load->view('upload_success', $data);
    }
}

有關更多信息: https : //www.codeigniter.com/user_guide/libraries/file_uploading.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM