【问题标题】:CodeIgniter upload image through tinymceCodeIgniter 通过 tinymce 上传图片
【发布时间】:2013-11-14 02:29:25
【问题描述】:

我需要一些帮助。我已经用 CodeIgniter 创建了一个表单,我可以在其中写帖子,我想做的是添加功能来为这个帖子上传图片。

一开始我想在我的表单中添加一个可以上传文件的输入字段,这样我就可以在前端的内容(文本)上方显示它们,但是虽然这是一个非常快速和简单的解决方案,但可能不要那么灵活。所以我想使用 tinymce 的“插入/编辑图像”按钮。

我以前没有这样做过,如何通过tinymce上传一张或多张图片,以便它们出现在前端的文本中??

编辑这是我的代码。

这是我的看法:

<?php echo form_open_multipart(); ?>
<div>
    <label for="title">Title *</label>
    <?php echo form_input('title', html_escape(set_value('title', $article->title))); ?>
</div>
<div>
    <label for="file">Upload image</label>
    <?php echo form_upload('file'); ?>
</div>
<div>
    <label for="body">Body *</label> // has TinyMce
    <?php echo form_textarea('body', strip(set_value('body', $article->body))); ?>
</div>
<div>
    <?php echo form_submit('save', 'Save'); ?>
</div>
<?php echo form_close(); ?>

这是我的模型:

public function save($id = null){

        $post_data = array(
                'title' => $this->input->post('title'),
                'file' => $this->input->post('file'),
                'body' => $this->input->post('body'), 
                );

        return parent::save($post_data, $id);
    }

这是控制器:

public function article($id = null){

        ....

        $this->form_validation->set_rules($this->article_model->rules);

        // Process the form
        if ($this->form_validation->run() == TRUE) {
            $this->article_model->save($id);
            redirect('admin/article');
        }
    }

【问题讨论】:

  • 到目前为止你已经尝试过什么。分享一些代码。我们无法为您编写完整的代码。
  • 抱歉忘记了..请查看上面的帖子
  • responsivefilemanager.com 你可以试试这个 TinyMCE 插件。上传图片或文件,同时免费 :)
  • 这看起来很酷!我打算做一些小的更改,所以我想做的基本上是通过辅助表单将图像上传到“上传/文章”文件夹,然后在单击插入图像时使用 tinymce 在主表单中按钮浏览上传文件夹并在文本中插入图像。我可以用这个插件吗???

标签: php codeigniter file-upload tinymce codeigniter-2


【解决方案1】:

有两种方法。

您可以在 TinyMCE 之外保留一个上传字段并使用 ajax/iframe 文件上传。

编写一个能够上传图片的 TinyMCE 插件。

请注意,这两种方法都需要付出一些努力才能实施。

就在服务器端处理文件而言,您可以通过Codeigniter Docs 开始。

【讨论】:

  • 你的意思是有一个使用文件上传和图像处理类的插件??我该怎么做??
  • TinyMCE 有它自己的插件编写方式tinymce.com/wiki.php/API3:class.tinymce.Plugin。你会想要一个打开一个对话框,带有一个上传按钮并允许用户选择图像并上传图像的方法。当然,要在服务器上自行处理上传,您可以使用 codeigniter 提供的图像处理类。
  • 你说的我该怎么做?是否有任何可用的教程或任何链接显示如何将tinymce的插件与codeigniter的图像类嵌入???
【解决方案2】:

在我看来,我认为您应该使用单独的字段将图像上传到服务器,因为这有助于您控制它们、调整大小、确定文件名和上传路径

您可以使用 form_open_multipart() Codeigniter 函数上传文件

然后您可以创建一个名为 image 的数据库表字段并将上传的文件名插入其中

然后检索帖子就可以了

<img src="<?php echo $post->image; ?>" />

<p><?php echo $post->content ?></p>

【讨论】:

  • 这是我决定首先做的,但是如果在一个帖子中我有多个图像怎么办?如果我通过 循环显示它们,我将有一组图像,然后是文本,我认为这看起来不太好。有什么方法可以通过tinymce将图片上传到服务器并通过图片库控制它们、调整它们的大小等等??
  • 我总是使用 iframe 方法来上传文件,就好像它们是通过 ajax 上传的一样,我认为这对你很有用
猜你喜欢
  • 1970-01-01
  • 2015-11-15
  • 2017-12-31
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 2018-11-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多