Giter Club home page Giter Club logo

php-upload-server's Introduction

PHP Upload and Image Manipulation

Package with functions created to facilitate the upload and manipulation of images to the server.

Safety Notices

To ensure the security of uploads on the server it is highly recommended that the files be uploaded outside the site's public folder.

This library does not validate the submission of any files. Use a validation library of your choice.


Documentation


Requirements

This will install PHP Upload and Image Manipulation and all required dependencies. PHP Upload and Image Manipulation requires PHP 7.0.0 or newer. To create derived images GD should be installed on your server.

Installation

It's recommended that you use Composer to install Slim.

$ composer require fernandozueet/php-upload-server

Lib instance

$upload = new FzUpload\Core();

Set file

//url file
$upload->setFile([
    'http://especiais.g1.globo.com/educacao/guia-de-carreiras/2017/teste-vocacional/assets/teste_vocacional_logo.png',
    'https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png'
]);
//php file
$upload->setFile($_FILES['file_x']);
//slim framework file
$upload->setFile($request->getUploadedFiles());
//symphony or laravel framework file
$upload->setFile($request->file_x);

Get file

//get file
$return = $upload->getFile();
//value returned
array:2 [
  0 => array:9 [
    "temp" => "C:\xampp\tmp\php2FA2.tmp"
    "extension" => "jpg"
    "image" => array:2 [
      "width" => 500
      "height" => 500
    ]
    "mimeType" => "image/jpeg"
    "name" => "45373949_1GG"
    "completeName" => "45373949_1GG.jpg"
    "randomName" => "c42264551c22b94992a128b39ae84986"
    "completeRandomName" => "c42264551c22b94992a128b39ae84986.jpg"
    "size" => 32643
  ]
  1 => array:9 [
    "temp" => "C:\xampp\tmp\php2FA3.tmp"
    "extension" => "jpg"
    "image" => array:2 [
      "width" => 1200
      "height" => 1200
    ]
    "mimeType" => "image/jpeg"
    "name" => "guarda-roupa-casal-com-espelho-3-portas-de-correr-lara-ciwt-D_NQ_NP_685005-MLB25713052454_062017-F"
    "completeName" => "guarda-roupa-casal-com-espelho-3-portas-de-correr-lara-ciwt-D_NQ_NP_685005-MLB25713052454_062017-F.jpg"
    "randomName" => "c099d9ec06382af2ba3985aa67b4025e"
    "completeRandomName" => "c099d9ec06382af2ba3985aa67b4025e.jpg"
    "size" => 221866
  ]
]

Simple complete example

//lib instance
$upload = new FzUpload\Core();

//custom name (optional)
//$upload->setFileName('newName');

//original name files (optional)
//$upload->setOriginalName();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//get file 
$files = $upload->getFile();

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//upload files
$upload->uploadFile();

//save file to local server
if($upload->saveLocal()) {

    //files uploaded
    $filesUploaded = $upload->getSavedFiles();

}else{
    //error
}

Image resize

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image resize 
//int $width, int $height, bool $proportion = true
$upload->imageResize(100, 200);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image crop

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image crop
//int $x, int $y, int $width, int $height
$upload->imageCrop(2, 2, 300, 200);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image flip

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image flip
//int mode - Possible values: (IMG_FLIP_HORIZONTAL, IMG_FLIP_VERTICAL, IMG_FLIP_BOTH)
$upload->imageFlip(IMG_FLIP_VERTICAL);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image gamma correct

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image gamma correct
//float $inputgamma, float $outputgamma
$upload->imageGammaCorrect(1.0, 1.537);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image rotate

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image rotate
//int $rotate - Possible values: (0 to 360)
$upload->imageRotate(80);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image text

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image text
//string $text, string $fontFile, int $size, array $rgbColor, int $angle - (0 to 90), int $x, int $y
$upload->imageText('Test test', 'C:\Windows\Fonts\arial.ttf', 16, [255,0,0], 0, 30, 30);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image watermarks

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image watermarks
//int $bottom, int $right, string $imageLogo
$upload->imageWatermarks(10, 10, 'C:\teste\logo.png');

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter negative

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_NEGATE);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter gray scale

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_GRAYSCALE);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter edgedetect

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_EDGEDETECT);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter emboss

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_EMBOSS);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter gaussian blur

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_GAUSSIAN_BLUR);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter selective blur

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_SELECTIVE_BLUR);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter mean removal

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_MEAN_REMOVAL);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter smooth

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter
$upload->imageFilter(IMG_FILTER_SMOOTH);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter brightness

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter - (-255 to 255)
$upload->imageFilter(IMG_FILTER_BRIGHTNESS, 100);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter contrast

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter - (-100 to 100)
$upload->imageFilter(IMG_FILTER_CONTRAST, -50);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter pixelate

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter 
$upload->imageFilter(IMG_FILTER_PIXELATE, 3);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Image filter colorize

//lib instance
$upload = new FzUpload\Core();

//set file
$upload->setFile(['https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png']);

//save file in C:\teste\p and C:\teste\m
$upload->setSaveDirectory(["C:\\teste\p","C:\\teste\m"]);

//save image as. Possible values: (jpg|quality - 0 to 100, png|quality - 0 to 100, gif, webp|quality - 0 to 100)
$upload->setSaveImageAs(['jpg|100','png|100','gif','webp|100']);

//image filter 
//arg1 (0 to 255), arg2 (0 to 255), arg3 (0 to 255), arg4 (0 to 127)
$upload->imageFilter(IMG_FILTER_COLORIZE, 64, 193, 198, 50);

//save file to local server
if($upload->saveLocal()) {
    //success
}else{
    //error
}

Contributing

Please see CONTRIBUTING for details.

Security

If you discover security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The PHP Upload and Image Manipulation is licensed under the MIT license. See License File for more information.

php-upload-server's People

Contributors

fernandozueet avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

php-upload-server's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.