OpenSencillo
2015.002
|
Public Member Functions | |
__construct ($path) | |
mimeConfig ($mime=null) | |
path ($path) | |
maxSize ($size) | |
advancedMode ($mode=null) | |
ajaxSendJson ($respond=null) | |
name () | |
upload () | |
Protected Member Functions | |
mimeTest ($mime) | |
Protected Attributes | |
$mime | |
$uploadDirectory | |
$size | |
$uploadInfo | |
$mode | |
$status |
Definition at line 2 of file files.upload.fup.php.
__construct | ( | $ | path | ) |
Definition at line 11 of file files.upload.fup.php.
{ $this->mime=null; $this->path($path); $this->advancedMode(); }
advancedMode | ( | $ | mode = null | ) |
Advanced upload mode TRUE/FALSE, deafult FALSE
bool | $mode |
Definition at line 84 of file files.upload.fup.php.
{ switch($mode) { case true: $this->mode = true; break; default: $this->mode = false; break; } }
ajaxSendJson | ( | $ | respond = null | ) | [final] |
Json status encoder for AJAX comunication
Definition at line 100 of file files.upload.fup.php.
{ if($respond==null) { print json_encode($this->status); } else { print json_encode($this->status[$respond]); } }
maxSize | ( | $ | size | ) |
Maximum allowed file size
int | $size |
Definition at line 74 of file files.upload.fup.php.
{ $this->size = $size; }
mimeConfig | ( | $ | mime = null | ) |
mimeTest | ( | $ | mime | ) | [protected] |
Internal protected function for detection legal mime type
mixed | $mime |
Definition at line 23 of file files.upload.fup.php.
{ if($val == $_FILES['FileInput']['type']) { $this->mime=true; } }
name | ( | ) |
Get new file name
Definition at line 115 of file files.upload.fup.php.
{ return $this->uploadInfo['newName']; }
path | ( | $ | path | ) |
specify upload directory ends with / (slash)
string | $path |
Definition at line 64 of file files.upload.fup.php.
{
$this->uploadDirectory = $path;//example '/home/website/file_upload/uploads/'
}
upload | ( | ) |
Upload method
200 - OK 404 - Not found / Unknown error / No file 413 - Request is to large (maximum size is low) 415-0 - Unsupported Media Type (acquired in upload method) 415-1 - Unsupported Media Type (acquired in mimeConfig method) 417 - Expectation Failed (failed moving file from temporary location) 444 - No Response / Internal AJAX fail
Definition at line 131 of file files.upload.fup.php.
{ $this->status = array(); if(isset($_FILES["FileInput"])/* && $_FILES["FileInput"]["error"]== UPLOAD_ERR_OK*/) { $UploadDirectory = $this->uploadDirectory; //specify upload directory ends with / (slash) /* Note : You will run into errors or blank page if "memory_limit" or "upload_max_filesize" is set to low in "php.ini". Open "php.ini" file, and search for "memory_limit" or "upload_max_filesize" limit and set them adequately, also check "post_max_size". */ //check if this is an ajax request if($this->mode) { $this->status['mode']='advanced'; if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])) { $this->status['code']="444"; } //Is file size is less than allowed size. if ($_FILES["FileInput"]["size"] > $this->size) { $this->status['code']="413"; } //allowed file type Server side check if($this->mime==true) { switch(strtolower($_FILES['FileInput']['type'])) { //allowed file types case 'image/png': case 'image/gif': case 'image/jpeg': case 'image/pjpeg': case 'text/plain': case 'text/html': //html file case 'application/x-zip-compressed': case 'application/pdf': case 'application/msword': case 'application/vnd.ms-excel': case 'video/mp4': $this->status['mime']=$_FILES['FileInput']['type']; break; default: $this->status['code']="415-0"; //output error } } else { $this->status['code']="415-1";//output error } } else { $this->status['mode']='simple'; } $File_Name = strtolower($_FILES['FileInput']['name']); $File_Ext = substr($File_Name, strrpos($File_Name, '.')); //get file extention $Random_Number = rand(0, 9999999999).date('YmdHis'); //Random number to be added to name. $NewFileName = $Random_Number.$File_Ext; //new file name $this->uploadInfo = array('oldName'=>$File_Name, 'ext'=>$File_Ext, 'rnd'=>$Random_Number, 'newName'=>$NewFileName); $this->status['info'] = $this->uploadInfo; if(!is_dir($UploadDirectory)) { mkdir($UploadDirectory,0777); } if(move_uploaded_file($_FILES['FileInput']['tmp_name'], $UploadDirectory.$NewFileName)) { // do other stuff $this->status['code']="200"; $this->status['name']=$NewFileName; } else { $this->status['code']="417"; } } else { $this->status['code']="404"; } if($this->status['code']=='200') { $this->ajaxSendJson('name'); } else { $this->ajaxSendJson('code'); } }
$mime [protected] |
Definition at line 4 of file files.upload.fup.php.
$mode [protected] |
Definition at line 8 of file files.upload.fup.php.
$size [protected] |
Definition at line 6 of file files.upload.fup.php.
$status [protected] |
Definition at line 9 of file files.upload.fup.php.
$uploadDirectory [protected] |
Definition at line 5 of file files.upload.fup.php.
$uploadInfo [protected] |
Definition at line 7 of file files.upload.fup.php.