1. Go to this page and download the library: Download gargron/fileupload library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
gargron / fileupload example snippets
// Simple validation (max file size 2MB and only two allowed mime types)
$validator = new FileUpload\Validator\Simple('2M', ['image/png', 'image/jpg']);
// Simple path resolver, where uploads will be put
$pathresolver = new FileUpload\PathResolver\Simple('/my/uploads/dir');
// The machine's filesystem
$filesystem = new FileUpload\FileSystem\Simple();
// FileUploader itself
$fileupload = new FileUpload\FileUpload($_FILES['files'], $_SERVER);
// Adding it all together. Note that you can use multiple validators or none at all
$fileupload->setPathResolver($pathresolver);
$fileupload->setFileSystem($filesystem);
$fileupload->addValidator($validator);
// Doing the deed
list($files, $headers) = $fileupload->processAll();
// Outputting it, for example like this
foreach($headers as $header => $value) {
header($header . ': ' . $value);
}
echo json_encode(['files' => $files]);
foreach($files as $file){
//Remeber to check if the upload was completed
if ($file->completed) {
echo $file->getRealPath();
// Call any method on an SplFileInfo instance
var_dump($file->isFile());
}
}
$factory = new FileUploadFactory(
new PathResolver\Simple('/my/uploads/dir'),
new FileSystem\Simple(),
[
new FileUpload\Validator\MimeTypeValidator(['image/png', 'image/jpg']),
new FileUpload\Validator\SizeValidator('3M', '1M')
// etc
]
);
$instance = $factory->create($_FILES['files'], $_SERVER);
// Simple validation (max file size 2MB and only two allowed mime types)
$validator = new FileUpload\Validator\Simple('2M', ['image/png', 'image/jpg']);
$mimeTypeValidator = new FileUpload\Validator\MimeTypeValidator(['image/png', 'image/jpg']);
// The 1st parameter is the maximum size while the 2nd is the minimum size
$sizeValidator = new FileUpload\Validator\SizeValidator('3M', '1M');
$config = [
'width' => 400,
'height' => 500
];
// Can also contain 'min_width', 'max_width', 'min_height' and 'max_height'
$dimensionValidator = new FileUpload\Validator\DimensionValidator($config);
$fileupload = new FileUpload\FileUpload($_FILES['files'], $_SERVER);
$filenamegenerator = new FileUpload\FileNameGenerator\Simple();
$fileupload->setFileNameGenerator($filenamegenerator);
$customGenerator = new FileUpload\FileNameGenerator\Custom($provider);
//$provider can be a string (in which case it is returned as is)
//It can also be a callable or a closure which receives arguments in the other of $source_name, $type, $tmp_name, $index, $content_range, FileUpload $upload
$md5Generator = new FileUpload\FileNameGenerator\MD5($allowOverride);
//$allowOverride should be a boolean. A true value would overwrite the file if it exists while a false value would not allow the file to be uploaded since it already exists.
$randomGenerator = new FileUpload\FileNameGenerator\Random($length);
//Where $length is the maximum length of the generator random name
$simpleGenerator = new FileUpload\FileNameGenerator\Simple();
//Saves a file by it's original name
$slugGenerator = new FileUpload\FileNameGenerator\Slug();
//This generator slugifies the name of the uploaded file(s)