$_FILES['name'] = 'Foo';
$_FILES['type'] = 'image/png';
$_FILES['size'] = 5000000; //5mb
$_FILES['tmp_name'] = '/tmp/files/image.png';
$_FILES['error'] = '';
$FileUploader = new FileUploader;
start method is used to set parameters
into the input class.
$FileUploader->start($files, $type);
where:
$files: $_FILES or files data array
$type: When set as 'image', it allows internal validation of images selected.
$FileUploader->start($_FILES); // set files for upload
$FileUploader->start($_FILES, 'image'); // set image files for upload
filesize() method sets the maximum number of
bytes the files uploaded must not exceed
$FileUploader->filesize($size);
where:
$size: maximum file size in bytes
$FileUploader->start($_FILES);
$FileUploader->filesize(2000000); // 2mb
$FileUploader->GetFileName(); // returns name of file
$FileUploader->start($_FILES, 'image');
$FileUploader->GetFileName(); // returns Foo
$FileUploader->GetFileType(); // returns type of file
$FileUploader->start($_FILES, 'image');
$FileUploader->GetFileType(); // image/png
$FileUploader->GetFileSize(); // returns size of file
$FileUploader->start($_FILES, 'image');
$FileUploader->GetFileSize(); // 5000000
tmp_name of current file set.
$FileUploader->GetFileTemp(); // returns the temporary directory of file
$FileUploader->start($_FILES, 'image');
$FileUploader->GetFileTemp(); // /tmp/files/image.png
error for current file set.
$FileUploader->GetFileError(); // returns the current file error
$FileUploader->start($_FILES, 'image');
$FileUploader->GetFileError(); // returns null
data for current file set.
$FileUploader->GetFileData(bool); // returns string of supplied data where: bool : boolean of true adds the new directory and new file name of an uploaded file to the data string returned.
$FileUploader->start($_FILES, 'image');
$FileUploader->GetFileData(); //list $_FILES as string
$FileUploader->uniqueFile($param);
where :
$param : true permits a unique output name
false keeps the source file name
string sets a new output name.
$FileUploader->start($_FILES); $FileUploader->uniqueFile(); // generate a new output name $FileUploader->uniqueFile(false); // keep source name $FileUploader->uniqueFile('foo'); // use a unique output name foo
$FileUploader->uploadFile($validFiles, $destination, $makedir); // returns : true if file was uploaded where : $validFiles: array list of valid or acceptable extensions. $destination: destination path of uploaded file. $makedir: bool of true creates a new directory if it does not already exist.
$FileUploader->start($_FILES, 'image');
$FileUploader->uploadFile(['jpg','png'], dirname(__FILE__).'/images', true);
// 1. upload only files with jpg or png extensions
// 2. upload into destination path supplied
// 3. create directory of destination if it does not exist
response returns the response of the processes executed. This
may be good for code debugging
$FileUploader->start($_FILES, 'image');
$upload = $FileUploader->uploadFile(['jpg','png'], dirname(__FILE__).'/images', true);
if($upload){
//file uploaded successfully
} else {
var_dump( $FileUploader->response() ); //return the upload response.
}
reconstruct method is used to restructure multiple files for upload
$FileUploader->reconstruct($data);
where :
$data: array of multiple files
$_FILES['name'][0] = 'Foo'; $_FILES['name'][1] = 'Bar'; $_FILES['type'][0] = 'image/png'; $_FILES['type'][1] = 'image/png'; $_FILES['size'][0] = 5000000; //5mb $_FILES['size'][1] = 2000000; //2mb $_FILES['tmp_name'][0] = '/tmp/files/foo.png'; $_FILES['tmp_name'][1] = '/tmp/files/bar.png'; $_FILES['error'][0] = ''; $_FILES['error'][1] = ''; $files = $FileUploader->reconstruct($_FILES); var_dump($files); //The above returns: [ 0 => [ 'name' => 'Foo'; 'type' => 'image/png'; 'size' => 5000000; 'tmp_name' => '/tmp/files/foo.png'; 'error' => ''; ], 1 => [ 'name' => 'Bar'; 'type' => 'image/png'; 'size' => 2000000; 'tmp_name' => '/tmp/files/bar.png'; 'error' => ''; ], ]
...continued... using previous data $files = $FileUploader->reconstruct($_FILES); foreach( $files as $file ) { $FileUploader->start($file, 'image'); $FileUploader->uniqueFile(); if($FileUploader->uploadFile(['jpg', 'png'])) { //upload successful } else { var_dump( $FileUploader->response() ); } }