-2

助けてください。投稿を書くことができる 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');
        }
    }
4

2 に答える 2

0

これには 2 つのアプローチがあります。

TinyMCE の外にアップロード フィールドを保持し、ajax/iframe ファイルのアップロードを使用します。

また

画像をアップロードできる TinyMCE プラグインを作成します。

これらのアプローチはどちらも、実装に多少の労力がかかることに注意してください。

サーバー側でのファイルの処理に関する限り、Codeigniter のドキュメントを参照して開始することができます。

于 2013-11-03T11:07:22.113 に答える
0

私の意見では、別のフィールドを使用して画像をサーバーにアップロードする必要があると思います。これにより、画像の制御、サイズ変更、ファイル名の決定、アップロードパスの決定が容易になります。

form_open_multipart() Codeigniter 関数を使用してファイルをアップロードできます

次に、イメージというDBテーブルフィールドを作成し、アップロードされたファイル名をそれに挿入できます

次に、できる投稿を取得します

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

<p><?php echo $post->content ?></p>
于 2013-11-03T09:07:39.553 に答える