0 レビュー
2 回答
php-CodeIgniterを使用した画像ギャラリー
MYSQLデータベースに保存されている画像を表示できません ファイルをアップロードするビューコードは次のとおりです
<?php echo form_open_multipart('Welcome/do_upload');?>
<input name="file" size="40" type="file" />
<input type="submit" value="Upload" />
これは私のコントローラーファイル
public function do_upload()
{
$this->output->enable_profiler(TRUE);
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '3000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('file'))
{
$error = array('error' => $this->upload->display_errors());
echo "<pre>";
print_r($this->input->post());
print_r($error);
}
else
{
$data = array('upload_data' => $this->upload->data('file'));
echo "Upload";
$this->Blog->insert_images($this->upload->data());
$data = array('upload_data' => $this->upload->data());
}
}
これは私のモデルファイルです
このファイルは最初に画像を挿入し、次にデータベースからのすべての画像を表示します
public function insert_images($image_data = array()){
$data = array(
'i_id' => "NULL",
'i_s' => $image_data['full_path']
);
$img=$this->db->get('images')->result();
foreach($img as $i){
?>
<img src="<?php echo $i->i_s?>">
<?php
}
}
どんな助けでも大歓迎です
わからない
0
レビュー
答え :
解決策:
問題はデータベースにパスを保存することです
$data = array(
'i_id' => "NULL",
'i_s' => $image_data['full_path']
);
このコードをこれに置き換えます
$data = array(
'i_id' => "NULL",
'i_s' => $image_data['file_name']
);
データベースからの画像を表示するには、このコードを記述します
<?php foreach($im as $imd){?>
<img src="<?php echo base_url('uploads/'.$imd->i_s);?>">
<?php }?>
わからない
0
レビュー
答え :
解決策:
ファイルの絶対パスを保存することは想定されていません。画像の相対パスをデータベースに保存する必要があります。相対的
FCPATH
例:設定が次の場合
$config['base_url'] = 'http://localhost/site/';
、DBに保存される文字列は
のようになります。
img.jpg
ブラウザで表示したい場合は、電話してください
echo base_url('img.jpg');
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。