A brief discussion on how to use PHP to generate ICO icons
This article will introduce to you how to use PHP to generate ico icons. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to everyone.
#ico icon needs to be used in every website, and the method of use is also very simple. Basically, the following method is the main one, but there are other methods.
<link rel="shortcut icon" href="/favicon.ico" />
Generally, the ico icon is placed in the root directory of the website. When using it, you can use a relative path or an absolute path to introduce it. There is no clear regulation on this.
Let’s first understand a few functions. The ones we will use in the following code are mainly image processing functions:
strtolower、end、imagecreatefromjpeg、imagecreatefromgif、imagecreatefrompng、getimagesize、imagecreatetruecolor、imagecopyresampled、imagejpeg、imagedestroy
1. strtolower function
The strtolower function converts all strings to lowercase. The supported version is PHP4.0. Usage method:
<?php echo strtolower('This is strtolower function'); ?>
2. end function
The end function points the internal pointer of the array to the last element and returns the value of the element. The version supported is PHP4.0. Usage method:
<?php $info = array('red','yellow','blue','white'); echo end($info); ?>
3. Imagecreatefromjpeg function
# The ##imagecreatefromjpeg function loads jpg or jpeg format, returns the image resource after success, and returns FALSE after failure. The instructions given on php.net are: Create a new image from a file or URL. The version supports 4.3. Usage method:<?php $imgPath = './demo.jpg'; $im = @imagecreatefromjpeg($imgPath); ?>
4. Imagecreatefromgif function
The usage and method are similar to the imagecreatefromjpeg() function.5. Imagecreatefrompng function
The usage and method are similar to the imagecreatefromjpeg() function.6. getimagesize function
getimagesize function, obtains the image size, supports JPC, JP2, JPX, JB2, XBM, WBMP, SWC, TIFF and other formats, if successful The size and file type of the image and a height/width text string that can be used in the IMG tag in a normal HTML file. Failure will return false and a warning. Personally recommend that the PHP version is higher than 5.0. How to use it:<?php $imgPath = './demo.png'; $info = getimagesize($imgPath); ?>
7. imagecreatetruecolor function
imagecreatetruecolor function creates a new true color image and returns the image resource after success. Returns FALSE on failure. Usage:<?php $tmp = imagecreatetruecolor($width, $height); ?>
8. Imagecopyresampled function
imagecopyresampled function, resamples and copies part of the image and adjusts the size, copying a square area in one image to another Smoothly interpolates pixel values within an image, thus, inter alia, reducing the size of the image while still maintaining great sharpness.<?php // 参数注释:目标图象连接资源,源图象连接资源,目标 X 坐标点,目标 Y 坐标点,源的 X 坐标点,源的 Y 坐标点,目标宽度,目标高度,源图象的宽度,源图象的高度 imagecopyresampled($tmp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); ?>
9. Imagejpeg function
imagejpeg function outputs the image to the browser or file. PHP version supports 4.0, usage method:<?php // 参数注释:图像资源,路径,质量(默认值(-1)使用默认的IJG质量值(约75)) imagejpeg($tmp, $directory . $filename, 100); ?>
10. Imagedestroy function
imagedestroy function, destroys the image and releases the associated memory. The PHP version supports 4.0. How to use:<?php imagedestroy('./demo.png'); ?>
/** * 创建ico图标 * @return string * */ public function icon() { if(request()->isPost()) { //获取图片信息 $postVars = ["image" => trim($_FILES["image"]["name"]), "image_tmp" => $_FILES["image"]["tmp_name"], "image_size" => (int)$_FILES["image"]["size"], "image_dimensions" => (int)$_POST["image_dimensions"]]; //设置图片格式 $validExts = ["jpg", "jpeg", "gif", "png"]; //设置图片文件大小 175kb $max_file_size = 179200; //图片名称和类型 $filenameParts = explode(".", $postVars["image"]); //获取图片格式 $ext = strtolower(end($filenameParts)); //设置图片存储路径 $directory = "./favicon/"; //设置命名格式 $rand = time(); $filename = $rand . $postVars["image_size"]; //判断图片大小 if($postVars["image_size"] <= $max_file_size) { //判断图片格式 if(in_array($ext, $validExts)) { //依据格式使用不同函数 if($ext == "jpg" || $ext == "jpeg") { $image = imagecreatefromjpeg($postVars["image_tmp"]); } else if($ext == "gif") { $image = imagecreatefromgif($postVars["image_tmp"]); } else if($ext == "png") { $image = imagecreatefrompng($postVars["image_tmp"]); } if($image) { list($width, $height) = getimagesize($postVars["image_tmp"]); $newWidth = $postVars["image_dimensions"]; $newHeight = $postVars["image_dimensions"]; $tmp = imagecreatetruecolor($newWidth, $newHeight); //将图像复制到具有新宽度和高度的图像 imagecopyresampled($tmp, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); //创建100%质量的图像文件 if(is_dir($directory)) { if(is_writable($directory)) { imagejpeg($tmp, $directory . $filename, 100) or die('没有创建文件的权限'); if(file_exists($directory . $filename)) { //重命名 $newFilename = md5(time()); rename($directory . $filename, $directory . $newFilename . ".ico"); return '"http://'.$_SERVER['SERVER_NAME'] . substr($directory, 1).$newFilename.".ico"; } else { echo "指定的文件不可写"; } } else { return '目录:' . $directory . '"无写入权限'; } } else { return '目录: "' . $directory . '"不存在'; } imagedestroy($image); imagedestroy($tmp); } else { return "无法创建图像文件"; } } else { return "图标过大,不能超过175KB"; } } else { return "图片格式只能是后面几种 (jpg, jpeg, gif, png)."; } } else { return view('Index/icon'); } }
PHP video tutorial》
The above is the detailed content of A brief discussion on how to use PHP to generate ICO icons. For more information, please follow other related articles on the PHP Chinese website!

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

AI Hentai Generator
Generate AI Hentai for free.

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



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
