为啥上传图片中含有透明通道,图片就会变成黑色
为什么上传图片中含有透明通道,图片就会变成黑色?
p.s. 改的图片上传类原文地址:http://blog.csdn.net/a957651480/article/details/23124257
<?php <br /><br>class Images{<br><br> var $inputName; //控件名<br> var $allowType = array(<br> 'image/gif','image/jpg','image/jpeg','image/png','image/x-png','image/pjpeg'<br> ); //上传类型<br> var $allowSize = 1048576; //限制大小<br> var $saveDir = ""; //保存目录<br> var $FileName = ""; //文件名<br> var $isRename = false; //是否重命名,默认为true<br> var $errID = 0; //错误代码,默认为0<br> var $errMsg = ""; //错误信息<br> var $savePath = ""; //保存路径<br> var $ImgSize = 0; //图片尺寸<br><br> function __construct($inputName,$allowType="",$allowSize="",$saveDir="",$isRename=true){<br> if(empty($inputName)){<br> $this->chk_err(-1); //无传入控件名<br> }else{<br> $this->inputName = $inputName;<br> }<br><br> if(!empty($allowType)) $this->allowType = $allowType;<br> if(!empty($allowSize)) $this->allowSize = $allowSize;<br> if(!empty($saveDir)) $this->saveDir = $saveDir;<br> if(!empty($isRename)) $this->isRename = $isRename;<br> }<br><br> function is_uploaded(){<br> if(empty($_FILES[$this->inputName]['name'])){<br> $this->chk_err(4); //没有文件被上传<br> }else{<br> if(is_uploaded_file($_FILES[$this->inputName]['tmp_name'])){<br> return true;<br> }else{<br> $this->chk_err(-2); //文件上传不合法<br> }<br> }<br> }<br><br> function chk_type(){<br> if(!in_array($_FILES[$this->inputName]['type'],$this->allowType)){<br> $this->chk_err(-3); //上传的文件类型不被允许<br> }else{<br> return true;<br> }<br> }<br><br> function chk_size(){<br> if($_FILES[$this->inputName]['size'] > $this->allowSize){<br> $this->chk_err(-4); //上传的文件过大<br> }else{<br> return true;<br> }<br> }<br><br> function move_uploaded(){ //移动上传文件<br> if(!$this->is_uploaded()){<br> return false;<br> }<br><br> if(!$this->chk_size()){<br> return false;<br> }<br><br> if(!$this->chk_type()){<br> return false;<br> }<br><br> //重命名<br> if($this->isRename){<br> $arrTmp = pathinfo($_FILES[$this->inputName]['name']);<br> $extension = strtolower($arrTmp['extension']);<br> $file_newname = $this->FileName; //重命名新文件<br> }else{<br> $file_newname = $_FILES[$this->inputName]['name'];<br> }<br> <br> if(!file_exists($this->saveDir)){ //判断保存目录是否存在<br> mkdir($this->saveDir,0777,true); //建立保存目录<br> }<br><br> //移动文件<br> $result = move_uploaded_file($_FILES[$this->inputName]['tmp_name'],$this->saveDir."/".$file_newname);<br><br> if($result){<br> $path = $this->savePath = $this->saveDir."/".$file_newname; //文件的成功保存路径<br> return $path;<br> }else{<br> $this->chk_err($_FILES[$this->inputName]['error']);<br> }<br> <br> }<br><br> //判断出错信息<br> function chk_err($errID){<br> $this->errID = $errID;<br><br> switch($this->errID){<br> case -4:<br> $this->errMsg = '只能上传1M以内的图片 | <a>[返回]</a>';<br> break;<br> case -3:<br> $this->errMsg = '这不是一张图片 | <a>[返回]</a>';<br> break;<br> case -2:<br> $this->errMsg = '文件上传不合法 | <a>[返回]</a>';<br> break;<br> case -1:<br> $this->errMsg = '无控件名传入 | <a>[返回]</a>';<br> break;<br> case 1:<br> $this->errMsg = '上传的文件超出了php.ini中upload_max_filesize设定的最大值 | <a>[返回]</a>';<br> break;<br> case 2:<br> $this->errMsg = '上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值 | <a>[返回]</a>';<br> break;<br> case 3:<br> $this->errMsg = '文件只有部分被上传 | <a>[返回]</a>';<br> break;<br> case 4:<br> $this->errMsg = '请选择一张图片 | <a>[返回]</a>';<br> break;<br> default:<br> break;<br> }<br> return false;<br> <br> }<br><br> function get_errMsg(){<div class="clear"> </div>

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



Many users will choose the Huawei brand when choosing smart watches. Among them, Huawei GT3pro and GT4 are very popular choices. Many users are curious about the difference between Huawei GT3pro and GT4. Let’s introduce the two to you. . What are the differences between Huawei GT3pro and GT4? 1. Appearance GT4: 46mm and 41mm, the material is glass mirror + stainless steel body + high-resolution fiber back shell. GT3pro: 46.6mm and 42.9mm, the material is sapphire glass + titanium body/ceramic body + ceramic back shell 2. Healthy GT4: Using the latest Huawei Truseen5.5+ algorithm, the results will be more accurate. GT3pro: Added ECG electrocardiogram and blood vessel and safety

Screen brightness is an integral part of using modern computing devices, especially when you look at the screen for long periods of time. It helps you reduce eye strain, improve legibility, and view content easily and efficiently. However, depending on your settings, it can sometimes be difficult to manage brightness, especially on Windows 11 with the new UI changes. If you're having trouble adjusting brightness, here are all the ways to manage brightness on Windows 11. How to Change Brightness on Windows 11 [10 Ways Explained] Single monitor users can use the following methods to adjust brightness on Windows 11. This includes desktop systems using a single monitor as well as laptops. let's start. Method 1: Use the Action Center The Action Center is accessible

In iOS 17, Apple introduced several new privacy and security features to its mobile operating system, one of which is the ability to require two-step authentication for private browsing tabs in Safari. Here's how it works and how to turn it off. On an iPhone or iPad running iOS 17 or iPadOS 17, Apple's browser now requires Face ID/Touch ID authentication or a passcode if you have any Private Browsing tab open in Safari and then exit the session or app to access them again. In other words, if someone gets their hands on your iPhone or iPad while it's unlocked, they still won't be able to view your privacy without knowing your passcode

How to use WebSocket and JavaScript to implement an online speech recognition system Introduction: With the continuous development of technology, speech recognition technology has become an important part of the field of artificial intelligence. The online speech recognition system based on WebSocket and JavaScript has the characteristics of low latency, real-time and cross-platform, and has become a widely used solution. This article will introduce how to use WebSocket and JavaScript to implement an online speech recognition system.

WebSocket and JavaScript: Key technologies for realizing real-time monitoring systems Introduction: With the rapid development of Internet technology, real-time monitoring systems have been widely used in various fields. One of the key technologies to achieve real-time monitoring is the combination of WebSocket and JavaScript. This article will introduce the application of WebSocket and JavaScript in real-time monitoring systems, give code examples, and explain their implementation principles in detail. 1. WebSocket technology

Introduction to how to use JavaScript and WebSocket to implement a real-time online ordering system: With the popularity of the Internet and the advancement of technology, more and more restaurants have begun to provide online ordering services. In order to implement a real-time online ordering system, we can use JavaScript and WebSocket technology. WebSocket is a full-duplex communication protocol based on the TCP protocol, which can realize real-time two-way communication between the client and the server. In the real-time online ordering system, when the user selects dishes and places an order

How to use WebSocket and JavaScript to implement an online reservation system. In today's digital era, more and more businesses and services need to provide online reservation functions. It is crucial to implement an efficient and real-time online reservation system. This article will introduce how to use WebSocket and JavaScript to implement an online reservation system, and provide specific code examples. 1. What is WebSocket? WebSocket is a full-duplex method on a single TCP connection.

JavaScript and WebSocket: Building an efficient real-time weather forecast system Introduction: Today, the accuracy of weather forecasts is of great significance to daily life and decision-making. As technology develops, we can provide more accurate and reliable weather forecasts by obtaining weather data in real time. In this article, we will learn how to use JavaScript and WebSocket technology to build an efficient real-time weather forecast system. This article will demonstrate the implementation process through specific code examples. We
