fernandozueet / php-upload-server
上传和图像处理,裁剪、缩放、水印、滤镜、翻转、旋转、图像文本和伽玛校正
1.2.1
2020-01-17 12:48 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- phpunit/dbunit: >=1.2
- phpunit/phpunit: 5.5.*
- phpunit/phpunit-selenium: >=1.2
This package is auto-updated.
Last update: 2024-09-29 05:28:14 UTC
README
包中包含用于简化服务器上图像上传和处理的函数。
安全通知
为确保服务器上上传的安全性,强烈建议将文件上传到网站公共文件夹之外。
此库不验证任何文件的提交。请使用您选择的验证库。
文档
- 需求
- 安装
- 库实例
- 设置文件
- 获取文件
- 简单完整示例
- 图像缩放
- 图像裁剪
- 图像翻转
- 图像伽玛校正
- 图像旋转
- 图像文本
- 图像水印
- 图像负滤镜
- 图像灰度滤镜
- 图像边缘检测滤镜
- 图像浮雕滤镜
- 图像高斯模糊滤镜
- 图像选择性模糊滤镜
- 图像均值移除滤镜
- 图像平滑滤镜
- 图像亮度滤镜
- 图像对比度滤镜
- 图像像素化滤镜
- 图像着色滤镜
- 贡献
- 安全
- 致谢
- 许可协议
需求
这将安装PHP上传和图像处理以及所有必需的依赖项。PHP上传和图像处理需要PHP 7.0.0或更高版本。要创建派生图像,您的服务器上应安装GD。
安装
建议您使用Composer来安装Slim。
$ composer require fernandozueet/php-upload-server
库实例
$upload = new FzUpload\Core();
设置文件
//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 $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 ] ]
简单完整示例
//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 }
图像缩放
//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 }
图像裁剪
//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 }
图像翻转
//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 }
图像伽玛校正
//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 }
图像旋转
//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 }
图像文本
//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 }
图像水印
//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 }
图像负滤镜
//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 }
图像灰度滤镜
//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 }
图像边缘检测滤镜
//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 }
图像浮雕滤镜
//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 }
图像高斯模糊滤镜
//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 }
图像选择性模糊滤镜
//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 }
图像均值移除滤镜
//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 }
图像平滑滤镜
//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 }
图像亮度滤镜
//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 }
图像对比度滤镜
//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 }
图像像素化滤镜
//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 }
图像着色滤镜
//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。
安全
如果您发现与安全相关的问题,请通过电子邮件fernandozueet@hotmail.com联系,而不是使用问题跟踪器。
致谢
许可协议
PHP上传和图像处理遵循MIT许可协议。有关更多信息,请参阅许可文件。