Dynamic Multi-Language Uploader v1.0

Get High Quality Sequential Uploader with Real-Time Progress Bar

Cross Browser - Works on IE7 & All Desktop/Mobile Browsers Without any Extension

Responsive & Easy to Build - Plug & Play Dynamically From One Place

Full Clear Documentation From A to Z


  • Cross browser, supports also IE7, works on all mobiles (iphone, android, ..), tablets, desktop browsers without the need of installing any extra extension
  • Provides error/timeout handling and "Retry" button when upload fails due to server or internet connection
  • Easy installation in few seconds, you need only to create a container in HTML & to fill a JavaScript initialization code with your own custom parameters
  • Full customization from a one place, many parameters like the dimension of the uploaded photos/thumbnails, the signature to place on photo, number of uploads, minimum photo dimensions required, minimum size required, formats allowed & more!
  • Supports different languages dynamically, we will add any language as per your request for free
  • Provides real-time progress bar and full status of upload
  • Responsive and can fit any HTML container width
  • Sequential upload to save the server bandwidth (performance)
  • Control the image quality (compression ratio)
  • Crop feature to produce thumbnail - you can customize the desired width and height
  • Thumbnail preview after upload and photo preview when clicking on the thumbnail
  • Control the number of uploads as you wish
  • Add a label (signature) on the uploaded photo
  • Very elegant and modern design

Try it Below

You can change the language at any time without the need of refreshing the page. Also, once the upload finishes, click on the thumbnail to preview the uploaded photo


Using this plugin is very easy, in the PHP index page where you will place the uploder, add the below:
// Initiating the session

// Here, we add the HTML container for the uploader
<div id="muwakaba_uploader" class="muwakaba_uploader"></div>

In the JavaScript side, you can load the uploader with full customized preferences as you see here:
uploadArea: document.getElementById("muwakaba_uploader"),
numOfUploads: 15,
live_url_to_images_folder: "www.example.com/my_uploader",
language: "en",
cropped_thumbnail_width: 300,
cropped_thumbnail_height: 300,
compression_rate: 70,
text_on_image: "www.muwakaba.com",
keep_original: 1,
& more

To get the uploaded photos names
// They will be saved in the JSON object: muwakaba_uploader.uploadedNames which looks like below
// {"1":"1456446242.jpeg", "2":"1456446244.jpeg", "3":"1456446249.jpeg",...}

// To extract the names and append them to an array
var array_names = [];
for (var o in muwakaba_uploader.uploadedNames){



To check if the upload has completed
// Use the property muwakaba_uploader.readyToPost as below:
if(muwakaba_uploader.readyToPost == true){

// Proceed with submitting the form with the extractted photo names to be saved in the database.


Go to Muwakaba Website

Muwakaba @ 2016