Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Codeigniter - get the uploaded file name

How can I save my uploaded file's name in a variable (I'm new to CI)?

I am using this code for testing:

I would really appreciate your help on this guys.

This is the code I am using (and I am typing this over and over again because of the restrictions of stackoverflow):

<?php

class Gallery_model extends CI_Model {

    var $gallery_path;
    var $videos_path;
    var $thumbnail;
    var $video_name;

    function Gallery_model() {

        parent::__construct();

        $this->gallery_path = realpath(APPPATH . '../images');
        $this->videos_path = realpath(APPPATH . '../videos');
        $this->videos_path_tnumb = realpath(APPPATH . '../videos/thumb');

        $this->thumbnail = 'C://xampp//htdocs//upload//videos//thumb';
        $this->video_name = 'C://xampp//htdocs//upload//videos//79825_00_01_SC03_intro.mov';
    }

    function do_upload() {

        $config = array(
//            'allowed_types' => 'jpg|jpeg|png|gif',
//            'upload_path' => $this->gallery_path,
//            'max_size' => 10000

            'allowed_types' => 'avi|mp4|flw|mov',
            'upload_path' => $this->videos_path
        );

        $this->load->library('upload', $config);
        $field_name = "some_field_name";
        if ($this->upload->do_upload()) {
            $this->getThumbImage($_POST['userfile']);
        }
    }

    function getVideoInformation($videoPath) {
        $movie = new ffmpeg_movie($videoPath, false);

        $this->videoDuration = $movie->getDuration();
        $this->frameCount = $movie->getFrameCount();
        $this->frameRate = $movie->getFrameRate();
        $this->videoTitle = $movie->getTitle();
        $this->author = $movie->getAuthor();
        $this->copyright = $movie->getCopyright();
        $this->frameHeight = $movie->getFrameHeight();
        $this->frameWidth = $movie->getFrameWidth();
        $this->pixelFormat = $movie->getPixelFormat();
        $this->bitRate = $movie->getVideoBitRate();
        $this->videoCodec = $movie->getVideoCodec();
        $this->audioCodec = $movie->getAudioCodec();
        $this->hasAudio = $movie->hasAudio();
        $this->audSampleRate = $movie->getAudioSampleRate();
        $this->audBitRate = $movie->getAudioBitRate();
    }

    function getAudioInformation($videoPath) {
        $movie = new ffmpeg_movie($videoPath, false);

        $this->audioDuration = $movie->getDuration();
        $this->frameCount = $movie->getFrameCount();
        $this->frameRate = $movie->getFrameRate();
        $this->audioTitle = $movie->getTitle();
        $this->author = $movie->getAuthor();
        $this->copyright = $movie->getCopyright();
        $this->artist = $movie->getArtist();
        $this->track = $movie->getTrackNumber();
        $this->bitRate = $movie->getBitRate();
        $this->audioChannels = $movie->getAudioChannels();
        $this->audioCodec = $movie->getAudioCodec();
        $this->audSampleRate = $movie->getAudioSampleRate();
        $this->audBitRate = $movie->getAudioBitRate();
    }

    function getThumbImage($videoPath) {
        $movie = new ffmpeg_movie($videoPath, false);
        $this->videoDuration = $movie->getDuration();
        $this->frameCount = $movie->getFrameCount();
        $this->frameRate = $movie->getFrameRate();
        $this->videoTitle = $movie->getTitle();
        $this->author = $movie->getAuthor();
        $this->copyright = $movie->getCopyright();
        $this->frameHeight = $movie->getFrameHeight();
        $this->frameWidth = $movie->getFrameWidth();

        $capPos = ceil($this->frameCount / 4);

        if ($this->frameWidth > 120) {
            $cropWidth = ceil(($this->frameWidth - 120) / 2);
        } else {
            $cropWidth = 0;
        }
        if ($this->frameHeight > 90) {
            $cropHeight = ceil(($this->frameHeight - 90) / 2);
        } else {
            $cropHeight = 0;
        }
        if ($cropWidth % 2 != 0) {
            $cropWidth = $cropWidth - 1;
        }
        if ($cropHeight % 2 != 0) {
            $cropHeight = $cropHeight - 1;
        }

        $frameObject = $movie->getFrame($capPos);


        if ($frameObject) {
            $imageName = "thumb_01.jpeg";
            $tmbPath = "C:\\xampp\\htdocs\\upload\\videos\\thumb" . $imageName;
            $frameObject->resize(120, 90, 0, 0, 0, 0);
            imagejpeg($frameObject->toGDImage(), $tmbPath);
        } else {
            $imageName = "";
        }


        return $imageName;
    }

}
like image 517
Kaloyan Drenski Avatar asked May 02 '13 19:05

Kaloyan Drenski


People also ask

What is do_ upload in CodeIgniter?

$this->upload->do_upload() Performs the upload based on the preferences you've set. Note: By default the upload routine expects the file to come from a form field called userfile , and the form must be a "multipart type: <form method="post" action="some_action" enctype="multipart/form-data" />

How can get upload file name in PHP?

ya it is possible. You can also do this before uploading the file basename() is enough for extracting name. Show activity on this post. The accepted answer doesn't prevent the file upload, it simply provides a way to get the file name independent of the file contents.

What is $_ files in PHP?

PHP $_FILES The global predefined variable $_FILES is an associative array containing items uploaded via HTTP POST method. Uploading a file requires HTTP POST method form with enctype attribute set to multipart/form-data.


Video Answer


1 Answers

$upload_data = $this->upload->data(); //Returns array of containing all of the data related to the file you uploaded.
$file_name = $upload_data['file_name'];

Read more about it from here for v2.x and here for v3.x.

like image 170
Elavarasan Muthuvalavan - Lee Avatar answered Oct 10 '22 07:10

Elavarasan Muthuvalavan - Lee