PHP file upload error tmp_name is empty

Solution 1:

I just check the max size in phpinfo();

Then check if php.ini is loaded

$inipath = php_ini_loaded_file();

if ($inipath) {
    echo 'Loaded php.ini: ' . $inipath;
} else {
   echo 'A php.ini file is not loaded';
}

Then Change the upload_max_filesize=2M to 8M

; Maximum allowed size for uploaded files.
upload_max_filesize = 8M 

; Must be greater than or equal to upload_max_filesize
post_max_size = 8M 

Finally reset your Apache Server to apply the changes

service apache2 restart

Solution 2:

var_dump($_FILES['file_flag']['tmp_name']); // file_flag file key 
will return empty string 
array (size=1)
  'course_video' => 
    array (size=5)
      'name' => string 'fasdfasdfasdfsd.mp4' (length=19)
      'type' => string '' (length=0)
      'tmp_name' => string '' (length=0) <===== *** this point 
      'error' => int 1
      'size' => int 0

This happen because WAMP server not accepting this much size to uploaded on server.

to avoid this we need to change php.ini file.

upload_max_filesize=100M (as per your need)
post_max_size = 100M (as per your need)

In Wamp Server

Change Post Max Size

Change Max Upload Size

finally restart server

Restart WAMP Server