As the goal is to display it in HTML again HTML table doesnu2019t matter youalso need an img tag or make use of the background attribute itu2019squestionable to store the image into a MySQL table as a blob.As others said you might merely store it into some image folder and then justthe name in your data or rename the file with a unique value like an ID youhave in the corresponding record anyway for example the userid for a usersiconavatarimage.HTML forms have an input typefile and thatu2019s where the end user can pick afile for upload. An area for DragDrop of files is fancier than that youu2019llfind such things googling. The PHP side just looks into FILES for submittedfiles.Some say there has to be extra care as to uploads of anything malicious underthe hood of being an image well you have to be cautious with any user inputa massive amount of malicious source code can also come in via a textarea.Anyway the maximum upload file size is typically high to be usable and allowsto upload more easily. Your hoster might have a plugin checking all uploadsfor viruses.The minimum you should do in regard of checking for a valid image is usegetimagesize Manual to check the uploaded file.