PHP缩略图类
<?php//缩略图类class Thumb{ public static $thumb_prefix = '';//缩略图前缀 public static $thumb_savePath = '';//缩略图保存路径 public static $thumb_width = '';//缩略图宽度 public static $thumb_height = '';//缩略图高度 public static function save($sPath){//保存为缩略图,传入一个实参 $imgArr = self::getImageInfo($sPath);//获取图片信息 if (is_array($imgArr)) { //将三个静态属性以逗号为分隔拆分为数组,实现多张缩略图的生成 $thumb_prefix_arr = explode(',', self::$thumb_prefix); $thumb_width_arr = explode(',', self::$thumb_width); $thumb_height_arr = explode(',', self::$thumb_height); $countP = count($thumb_prefix_arr); $countW = count($thumb_width_arr); $countH = count($thumb_height_arr); if ($countP>0 && $countP==$countW && $countW==$countH) { //遍历一个数组,生成多张缩略图 $reArr = array(); foreach ($thumb_prefix_arr as $key=>$value){ //生成空白画布并填充颜色 $image = imagecreatetruecolor($thumb_width_arr[$key], $thumb_height_arr[$key]); $color = imagecolorallocate($image, 255, 255, 255);//白色 imagefill($image, 0, 0, $color); //计算出缩略比例 $width_scale = $imgArr['width']/$thumb_width_arr[$key];//宽比 $height_scale = $imgArr["height"]/$thumb_height_arr[$key];//高比 $scale = $width_scale>$height_scale ? $width_scale : $height_scale; //计算缩略图宽高 $width = $imgArr["width"]/$scale; $height = $imgArr["height"]/$scale; //到目标图片的位置 $dst_x = ($thumb_width_arr[$key]-$width)/2; $dst_y = ($thumb_height_arr[$key]-$height)/2; //获取原始图片资源并拷贝 $src_image = $imgArr["createFunName"]($sPath);//获取原始图片资源 imagecopyresized($image, $src_image, $dst_x, $dst_y, 0, 0, $width, $height, $imgArr["width"], $imgArr["height"]); //保存并返回值 $re = $imgArr['saveFunName']($image,self::$thumb_savePath.'/'.$thumb_prefix_arr[$key].$imgArr['name']); $reArr[$key] = $re; } //销毁缩略图资源及原图片资源,释放内存 imagedestroy($image); imagedestroy($src_image); return $reArr;//返回数组 }else{ return false; } }else{ return false; } } protected static function getImageInfo($path){ if (is_file($path)) { $imgArr = getimagesize($path); if (is_array($imgArr)) {//如果$imgArr是一个数组,则说明$path是一个真实图片 //判断不同的图片类型,使用变量函数,生成图片资源:$createFunName,保存图片资源:$saveFunName switch ($imgArr['mime']){ case 'image/jpeg': case 'image/pjpeg': $createFunName = 'imagecreatefromjpeg'; $saveFunName = 'imagejpeg'; break; case 'image/png': $createFunName = 'imagecreatefrompng'; $saveFunName = 'imagepng'; break; case 'image/gif': $createFunName = 'imagecreatefromgif'; $saveFunName = 'imagegif'; break; default: return false; } //获取原图片名称 $oldName = pathinfo($path,PATHINFO_BASENAME); //返回图片信息数组 return array( 'name'=>$oldName, 'type'=>$imgArr['mime'], 'width'=>$imgArr[0], 'height'=>$imgArr[1], 'createFunName'=>$createFunName, 'saveFunName'=>$saveFunName ); } }else{ return false; } }}

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

Using preprocessing statements and PDO in PHP can effectively prevent SQL injection attacks. 1) Use PDO to connect to the database and set the error mode. 2) Create preprocessing statements through the prepare method and pass data using placeholders and execute methods. 3) Process query results and ensure the security and performance of the code.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.

PHP uses MySQLi and PDO extensions to interact in database operations and server-side logic processing, and processes server-side logic through functions such as session management. 1) Use MySQLi or PDO to connect to the database and execute SQL queries. 2) Handle HTTP requests and user status through session management and other functions. 3) Use transactions to ensure the atomicity of database operations. 4) Prevent SQL injection, use exception handling and closing connections for debugging. 5) Optimize performance through indexing and cache, write highly readable code and perform error handling.

PHP is used to build dynamic websites, and its core functions include: 1. Generate dynamic content and generate web pages in real time by connecting with the database; 2. Process user interaction and form submissions, verify inputs and respond to operations; 3. Manage sessions and user authentication to provide a personalized experience; 4. Optimize performance and follow best practices to improve website efficiency and security.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.
