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;
}
}
$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" />
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.
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.
$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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With