-2

您好:我有一个将数据提交到我的数据库的 Web 表单。我能够创建签名图像并将其保存在我的目录中。我想将该签名图像与记录一起保存/存储在我的 mysql 数据库中,以便以后调用它。

用 CodeIgniter 2.0 编写

这是我的模型和控制器。

public function sig_to_img()
        {
            if($_POST){
                require_once APPPATH.'signature-to-image.php';
                 $json = $_POST['output'];

                $img = sigJsonToImage($json);

            imagepng($img, 'signature.png');

            imagedestroy($img);

            $form = $this->input->post();
            var_dump($form);

               $this->coapp_mdl->insert_signature($form);
            }
        }

public function insert_signature($data)
        {
          $sig_hash = sha1($data['output']);
          $created = time();
          $ip = $_SERVER['REMOTE_ADDR'];

          $data = array(
            'first_name' => $data['fname'],
            'last_name' => $data['lname'],
              'signator' => $data['name'],
              'signature' => $data['output'],
              'sig_hash' => $sig_hash,
              'ip' => $ip,
              'created' => $created
          );

            return $this->db->insert('signatures', $data);
        }

我在 php.net 上找到了下面的函数,但显然我做错了什么或各种错误。有谁知道如何完成这个功能?

$imagefile = "changethistogourimage.gif";

$image = imagecreatefromgif($imagefile);
ob_start();
imagepng($image);
$imagevariable = ob_get_contents();
ob_end_clean();
4

1 回答 1

0

明白了 - 对于那些好奇的人,这里是我的控制器的更改:

public function sig_to_img()
        {
            if($_POST){
                require_once APPPATH.'signature-to-image.php';
                 $json = $_POST['output'];

                $img = sigJsonToImage($json);

// Save to file
            $file_name = trim(str_replace(" ","_",$_POST['name']));//name to used for filename
            imagepng($img, APPPATH."../images/signatures/".$file_name.'.png');
            $sig_name = $file_name.'.png'; //pass to model

// Destroy the image in memory when complete
            imagedestroy($img);

            $form = $this->input->post();
            var_dump($form);         
            $this->coapp_mdl->insert_signature($form, $sig_name);
            }

        }
于 2013-08-23T20:14:59.633 回答