Codeigniter загрузить 2 файла (изображения и видео) в отдельном поле - PullRequest
0 голосов
/ 08 января 2019

Привет, я новичок в codeigniter, я хочу загрузить изображение и видео в одной форме с другим полем. я сделал, но он хранит либо один. последний хранится как видео.

<div id="file-upload" class="form-fields">
                            <div class="new_Btn"><i title="Upload Image" class="fa fa-cloud-upload" aria-hidden="true"></i><span>Upload Image</span></div>
                            <input id="html_btn" type="file" id="fileToUpload" name="fileToUpload" />
                        </div>

                        <div id="file-upload" class="form-fields">
                            <div class="new_Btn"><i title="Upload Image" class="fa fa-cloud-upload" aria-hidden="true"></i><span>Upload Video</span></div>
                            <input id="html_btn" type="file" id="videoToUpload" name="videoToUpload" />
                        </div>

И мой контроллер

public function videoupdate() {
            $data['user_data'] = $this->session->userdata('user_logged_in');
            if (($this->session->flashdata('success')))
                $data['success'] = $this->session->flashdata('success');
            else
                $data['error'] = $this->session->flashdata('error');
            if (!empty($data['user_data']['user_id'])) {
            $title = $_POST['title'];
            $description = htmlentities($_POST['description']);
            $target_dir = './cms/uploads/blog/video3/';  
            $temp = explode('.', $_FILES['fileToUpload']['name']);          
            $video = explode('.', $_FILES['videoToUpload']['name']);                            
            if (!empty($_FILES['fileToUpload']['name'])) {              
                $newfilename = round(microtime(true)) . '.' . end($temp);
            } else {
                $newfilename = "";
            }                       
             if (!empty($_FILES['videoToUpload']['name'])) {                

                $videofilename = round(microtime(true)) . '.' . end($video);
            } else {
                $videofilename = "";
            }       

            move_uploaded_file($_FILES['fileToUpload']['tmp_name'], './cms/uploads/blog/video3/' . $newfilename);
            move_uploaded_file($_FILES['videoToUpload']['tmp_name'], './cms/uploads/blog/video3/' . $videofilename);
            $createddate = date('Y-m-d H:i:s');
            $ipaddress = $_SERVER['REMOTE_ADDR'];

            $status = $this->microblog_model->insertBlogvideo($title, $description, $newfilename, $videofilename, $data['user_data']['user_id'], $createddate, $ipaddress);

1 Ответ

0 голосов
/ 08 января 2019

Я обнаружил, что ваш код для загрузки файлов работает нормально. Как я проверяю это в отдельном php-файле:

<code><pre>
                        <?php 
                        if(isset($_POST)){
                            $temp = explode('.', $_FILES['fileToUpload']['name']);          
                            $video = explode('.', $_FILES['videoToUpload']['name']); 
                                try{
                                    //upload image
                                    if (!empty($_FILES['fileToUpload']['name'])) {              
                                        $newfilename = round(microtime(true)) . '.' . end($temp);
                                        if(move_uploaded_file($_FILES['fileToUpload']['tmp_name'], './uploads/' . $newfilename)){
                                            echo "Image Uploaded<br/>";
                                        }
                                    }
                                    //upload video
                                    if (!empty($_FILES['videoToUpload']['name'])) {                
                                        $videofilename = round(microtime(true)) . '.' . end($video);
                                        if(move_uploaded_file($_FILES['videoToUpload']['tmp_name'], './uploads/' . $videofilename)){
                                            echo "Video Uploaded<br/>"; 
                                        }
                                    }     

                                }catch(Exception $e){
                                    print_r($e);
                                }
                            }
                        ?>
                        
Загрузить изображение
Загрузить видео

Вам следует проверить размер видео, которое вы пытаетесь загрузить, и максимально допустимый размер загрузки. Я надеюсь, это поможет. Потому что я проверял его несколько раз со многими изображениями и видео и обнаружил, что он работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...