Simplest way to upload file is by using FormData. It is used in key/value pairs to send XMLHttpRequest. Initially FormData used to send all form elements data in key/value pair, but it can be used to send keyed data also. Data sent by FormData is in same format as used in form's submit() method. It sends upload data also, if we use multipart/form-data in form's encoding
Model-view-controller (MVC) is a software architectural pattern for implementing user interfaces and business logic. It divides a software into three layers which manages the request coming from users and separates the internal representation of information.
The components of MVC are given below
- Model, captures the behavior of the application in terms of its problem domain, independent of the user interface. The model directly manages the data, logic and rules of the application. It is mainly used for database interaction.
- View can be any output representation of information, such as a chart or a diagram. Multiple views of the same information are possible, such as a bar chart for management and a tabular view for accountants. What we see on screen, comes from view. HTML or display is part of view.
- Controller, accepts input and converts it to commands for the model or view. When you hit any URL, firstly calls goes to controller. Here we decide, we have to show plain HTML or need to display data from database to HTML. If we have to display from plain HTML, we simply call view from controller otherwise, we calls model for database interaction, fetch relevant data from database and pass it to view.
PHP (PHP Hypertext Preprocessor) is an open source general HTML embedded purpose scripting language which is specially used for web development. PHP also has support for talking to other services using protocols such as LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (on Windows) and countless others. You can also open raw network sockets and interact using any other protocol. PHP has support for the WDDX complex data exchange between virtually all Web programming languages.