Home Backend Development PHP Tutorial A brief discussion on how to use PHP to generate ICO icons

A brief discussion on how to use PHP to generate ICO icons

Jun 16, 2021 pm 05:56 PM
php

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.

A brief discussion on how to use PHP to generate ICO icons

#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" />
Copy after login

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
Copy after login

1. strtolower function

The strtolower function converts all strings to lowercase. The supported version is PHP4.0. Usage method:

<?php
echo strtolower(&#39;This is strtolower function&#39;);
?>
Copy after login

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(&#39;red&#39;,&#39;yellow&#39;,&#39;blue&#39;,&#39;white&#39;);
echo end($info);
?>
Copy after login

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 = &#39;./demo.jpg&#39;;
$im = @imagecreatefromjpeg($imgPath);
?>
Copy after login

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 = &#39;./demo.png&#39;;
$info = getimagesize($imgPath);
?>
Copy after login

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);
?>
Copy after login

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);
?>
Copy after login

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);
?>
Copy after login

10. Imagedestroy function

imagedestroy function, destroys the image and releases the associated memory. The PHP version supports 4.0. How to use:

<?php
imagedestroy(&#39;./demo.png&#39;);
?>
Copy after login

There are 10 functions in total. Some basic functions are not introduced. The following is the ico code to generate:

/**
 * 创建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(&#39;没有创建文件的权限&#39;);
                            if(file_exists($directory . $filename)) {
                                //重命名
                                $newFilename = md5(time());
                                rename($directory . $filename, $directory . $newFilename . ".ico");
                                return &#39;"http://&#39;.$_SERVER[&#39;SERVER_NAME&#39;] . substr($directory, 1).$newFilename.".ico";
                            }
                            else {
                                echo "指定的文件不可写";
                            }
                        }
                        else {
                            return &#39;目录:&#39; . $directory . &#39;"无写入权限&#39;;
                        }
                    }
                    else {
                        return &#39;目录: "&#39; . $directory . &#39;"不存在&#39;;
                    }
                    imagedestroy($image);
                    imagedestroy($tmp);
                }
                else {
                    return "无法创建图像文件";
                }
            }
            else {
                return "图标过大,不能超过175KB";
            }
        }
        else {
            return "图片格式只能是后面几种 (jpg, jpeg, gif, png).";
        }
    }
    else {
        return view(&#39;Index/icon&#39;);
    }
}
Copy after login
Recommended learning: "

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!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1657
14
PHP Tutorial
1257
29
C# Tutorial
1230
24
How do you parse and process HTML/XML in PHP? How do you parse and process HTML/XML in PHP? Feb 07, 2025 am 11:57 AM

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

Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Explain JSON Web Tokens (JWT) and their use case in PHP APIs. Apr 05, 2025 am 12:04 AM

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,

Explain late static binding in PHP (static::). Explain late static binding in PHP (static::). Apr 03, 2025 am 12:04 AM

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.

PHP Program to Count Vowels in a String PHP Program to Count Vowels in a String Feb 07, 2025 pm 12:12 PM

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

What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? What are PHP magic methods (__construct, __destruct, __call, __get, __set, etc.) and provide use cases? Apr 03, 2025 am 12:03 AM

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.

PHP and Python: Comparing Two Popular Programming Languages PHP and Python: Comparing Two Popular Programming Languages Apr 14, 2025 am 12:13 AM

PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

PHP: A Key Language for Web Development PHP: A Key Language for Web Development Apr 13, 2025 am 12:08 AM

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP in Action: Real-World Examples and Applications PHP in Action: Real-World Examples and Applications Apr 14, 2025 am 12:19 AM

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

See all articles