storing image in db is not recommended as you will be storing it in BLOB(Binary large object) datatype.So for storing it in Database it will be encoded in binary format and saved and will retrieving it will again decode.As you have so many files,it will be better you store it in some folder location and store the location with filename in Database.
no it is not required to be done manually.you can write a script to store,filename and your hardcoded location where all images will be and file type in db,copy all images to that location.
So table will be something like this.
FileIId INt not null auto_increment
FileName varchar(50) not null
FileType varchar(50) not null
FileLocation varchar(50) not null
Things to consider.
<input type='file' name='myFiles' ID='myfiles'>
it will come in handy when your name attribute will be looking like a structure of an array at the html level. because this will help Java script to handle the files more quickier than easier.
Java script Level
create some sort of a function that you want in Java script level for enabling GUI upload window to handle more than one file at the UPLOAD files window. Do it on your own the way you want it. additionally, if you want some restrictions of which file type and how heavy the file should be at per element of the array. In this manner it will help PHP to make transactions more quickier and make the computation of PHP less time consuming.
Do not store the files in your database directly for much more easier to handle the database. use also $_FILES function in PHP to handle the name of the file, the capacity of the file and the file type of the file. Mostlikely, getting the file type and the file capacity is now available also on Java script. the only thing that you should store in the database is the result of $_FILES per element of an array not the file it self. If you store the files it self directly to the database, then your making your own a site that is not user friendly and it will be a pain in the ass, because it will be time consumable.