【问题标题】:Image upload and view with codeigniter [closed]使用 codeigniter 上传和查看图像 [关闭]
【发布时间】:2017-06-17 12:05:33
【问题描述】:

请有人解释一下如何上传图片并使用 codeigniter 查看它们。我尝试了很多方法,但没有一个对我有用。任何帮助将不胜感激

【问题讨论】:

  • 阅读此link,并出示您的代码
  • 先生。 Molagbal 这是我试过的代码codexworld.com/codeigniter-upload-multiple-files-images。它运作良好。但我想扩展它以在同一页面的两个地方上传图像并查看它们。例如,就像我们将个人资料照片和封面照片上传到 Facebook 一样。
  • 但是你没有在你的问题中解释...你能告诉我你尝试了什么吗?

标签: php codeigniter image-uploading


【解决方案1】:

您应该参考 CodeIgniter 用户指南。 File Upload in Codeigniter.

首先,您需要创建一个目标文件夹,用于上传图片。

因此,在 CodeIgniter(CI) 安装的根目录下创建一个名为“uploads”的文件夹。

现在在CodeIgniter 的views 文件夹中创建两个视图file_view.php 和upload_success.php。第一个文件将显示一个包含上传字段的完整表单,第二个文件显示“上传成功”消息。

文件上传需要多部分表单

这里我给你一个例子,希望对你有帮助。

HTML 代码。

<?php echo $error;?>
<!-- Error Message will show up here -->
<?php echo form_open_multipart( 'upload_controller/do_upload');?>
<?php echo "<input type='file' name='userfile' size='20' />"; ?>
<?php echo "<input type='submit' name='submit' value='upload' /> ";?>
<?php echo "</form>"?>

控制器代码:

            <?php
        if (!defined('BASEPATH'))
            exit('No direct script access allowed');
        class Upload_Controller extends CI_Controller
        {
            public function __construct()
            {
                parent::__construct();
            }
            public function file_view()
            {
                $this->load->view('file_view', array(
                    'error' => ' '
                ));
            }
            public function do_upload()
            {
                $config = array(
                    'upload_path' => "./uploads/",
                    'allowed_types' => "gif|jpg|png|jpeg|pdf",
                    'overwrite' => TRUE,
                    'max_size' => "2048000", // Can be set to particular file size , here it is 2 MB(2048 Kb)
                    'max_height' => "768",
                    'max_width' => "1024"
                );
                $this->load->library('upload', $config);
                if ($this->upload->do_upload()) {
                    $data = array(
                        'upload_data' => $this->upload->data()
                    );
                    $this->load->view('upload_success', $data);
                } else {
                    $error = array(
                        'error' => $this->upload->display_errors()
                    );
                    $this->load->view('file_view', $error);
                }
            }
        }
        ?>  

您的看法:

        <h3>Your file was successfully uploaded!</h3>
    <!-- Uploaded file specification will show up here -->
    <ul>
        <?php foreach ($upload_data as $item => $value):?>
            <li>
                <?php echo $item;?>:
                    <?php echo $value;?>
            </li>
            <?php endforeach; ?>
    </ul>
    <p>
        <?php echo anchor('upload_controller/file_view', 'Upload Another File!'); ?>
    </p>

用于检索图像:

首先,你需要将图片的URL保存在数据库中。

$this->model->insert_data($upoad_data['file_name'], $upoad_data['full_path']);

$data = array('upload_data' => $this->upload->data());

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

现在在 View 中使用 $data。

<image src="<?php you should use that data to view image. >">

希望您现在清楚上传后如何显示图片。

【讨论】:

  • 很高兴它对您有用。继续编码。
  • Mr.Ankith 效果很好..请解释一下如何在我们上传的地方检索图像,
  • 要检索图像,首先,您应该将该图像 URL 保存在数据库中。然后从数据库中获取。
  • 可以分享一下代码吗?这对 Ankith 先生会有很大帮助
  • 我已经编辑了答案。
猜你喜欢
  • 1970-01-01
  • 2013-03-21
  • 2011-03-01
  • 2014-12-29
  • 2020-03-05
  • 1970-01-01
  • 2012-09-04
  • 2018-01-23
  • 1970-01-01
相关资源
最近更新 更多