'err','reason'=>'Data directory not writable'))); else if(!isFolderWritable(ROOT.DS.'tmp')) exit(json_encode(array('status'=>'err','reason'=>'Temp directory not writable'))); // check for POST upload if ($_FILES['file']["error"] == UPLOAD_ERR_OK) { //get the file type $type = getTypeOfFile($_FILES['file']["tmp_name"]); //@todo: check for duplicates here //cross check filetype for controllers //image? if(in_array($type,(new ImageController)->getRegisteredExtensions())) { $answer = (new ImageController())->handleUpload($_FILES['file']['tmp_name']); } //or, a text else if($type=='text') { $answer = (new TextController())->handleUpload($_FILES['file']['tmp_name']); } //or, a video else if(in_array($type,(new VideoController)->getRegisteredExtensions())) { $answer = (new VideoController())->handleUpload($_FILES['file']['tmp_name']); } if(!$answer) $answer = array('status'=>'err','reason'=>'Unknown error'); echo json_encode($answer); }