-3

これは私のコントローラーmain.phpです。これは、同じファイル名をデータベースに保存し、名前で画像を取得したいディレクトリにファイルをアップロードしています。あなたはソリューションコードであると言うことができますか、私のコードを編集して本当にコードが必要です

<?php

       class Main extends CI_controller{ // mian controller

            function index(){
           $this->load->view('main_view.php', array('error'=>''));

                            }
            function upload(){ // upload function for image



                         $config['upload_path'] = './images/'; //directory
                         $config['allowed_types'] = 'jpg|jpeg|gif|png';//type allow
                         $this->load->library('upload',$config);

                            if(! $this->upload->do_upload()){

                            $error = array('error'=>$this->upload->display_errors());
                            $this->load->view('main_view',$error);
                                                              }
                                  else
                                        {
        // 

                                     $file_data = $this->upload->data();
                                     $data['img'] = base_url().'/images/'. $file_data['file_name'] ;
                                     $this->load->view('success_msg',$data);



                                         }
                                                    }

                             }
 ?>

これは私のビュー main_view.php です

 <html>
    <body>

       <? echo $error;?>

       <? echo form_open_multipart('main/upload'); ?>
           <input type="file" name="userfile" />
           <input type="submit" name="submit" value="Upload" />
             <?php echo form_close();?>
    </body>
    </html>

データベースにファイル名をアップロードして簡単に画像を取得したい

4

2 に答える 2

1

次の方法でイメージ名を取得できます。$this->upload->file_name

編集:

コードにいくつかのエラーがあります。

1) これは.php 拡張子なしである$this->load->view('main_view.php', array('error'=>''));必要があります。$this->load->view('main_view', array('error'=>''));

2)CI_controllerあるべきCI_Controller

于 2012-09-11T08:53:48.870 に答える
0

この単純なコード行を使用して、フォルダーにファイルをアップロードし、ファイル名を取得してデータベースに保存できます。

$image_path = '../../test_images/'.$_FILES['question_image']['name'];

if(is_uploaded_file($_FILES['question_image']['tmp_name']))
{
  move_uploaded_file($_FILES['question_image']['tmp_name'], $image_path) ;  
}           

$image_url = "test_images/".$_FILES['question_image']['name'];  

$image_path はファイルをアップロードする URL で、$image_url にはデータベースに保存する URL が含まれます

これで、次の方法で画像を取得できます

<img src="<?base_url($image_url)?>" />
于 2012-09-11T12:08:29.370 に答える