超级好用的一个php上传图片类(随机名,缩略图,加水印)_PHP
Upimages.class.php php上传类
复制代码 代码如下:
class UpImages {
var $annexFolder = "upload";//附件存放点,默认为:annex
var $smallFolder = "small";//缩略图存放路径,注:必须是放在 $annexFolder下的子目录,默认为:smallimg
var $markFolder = "mark";//水印图片存放处
var $upFileType = "jpg gif png";//上传的类型,默认为:jpg gif png rar zip
var $upFileMax = 1024;//上传大小限制,单位是“KB”,默认为:1024KB
var $fontType;//字体
var $maxWidth = 500; //图片最大宽度
var $maxHeight = 600; //图片最大高度
function UpImages($annexFolder,$smallFolder,$includeFolder) {
$this->annexFolder = $annexFolder;
$this->smallFolder = $smallFolder;
$this->fontType = $includeFolder."/04B_08__.TTF";
}
function upLoad($inputName) {
$imageName = time();//设定当前时间为图片名称
if(@empty($_FILES[$inputName]["name"])) die("没有上传图片信息,请确认");
$name = explode(".",$_FILES[$inputName]["name"]);//将上传前的文件以“.”分开取得文件类型
$imgCount = count($name);//获得截取的数量
$imgType = $name[$imgCount-1];//取得文件的类型
if(strpos($this->upFileType,$imgType) === false) die(error("上传文件类型仅支持 ".$this->upFileType." 不支持 ".$imgType));
$photo = $imageName.".".$imgType;//写入数据库的文件名
$uploadFile = $this->annexFolder."/".$photo;//上传后的文件名称
$upFileok = move_uploaded_file($_FILES[$inputName]["tmp_name"],$uploadFile);
if($upFileok) {
$imgSize = $_FILES[$inputName]["size"];
$kSize = round($imgSize/1024);
if($kSize > ($this->upFileMax*1024)) {
@unlink($uploadFile);
die(error("上传文件超过 ".$this->upFileMax."KB"));
}
} else {
die(error("上传图片失败,请确认你的上传文件不超过 $upFileMax KB 或上传时间超时"));
}
return $photo;
}
function getInfo($photo) {
$photo = $this->annexFolder."/".$photo;
$imageInfo = getimagesize($photo);
$imgInfo["width"] = $imageInfo[0];
$imgInfo["height"] = $imageInfo[1];
$imgInfo["type"] = $imageInfo[2];
$imgInfo["name"] = basename($photo);
return $imgInfo;
}
function smallImg($photo,$width=128,$height=128) {
$imgInfo = $this->getInfo($photo);
$photo = $this->annexFolder."/".$photo;//获得图片源
$newName = substr($imgInfo["name"],0,strrpos($imgInfo["name"], "."))."_thumb.jpg";//新图片名称
if($imgInfo["type"] == 1) {
$img = imagecreatefromgif($photo);
} elseif($imgInfo["type"] == 2) {
$img = imagecreatefromjpeg($photo);
} elseif($imgInfo["type"] == 3) {
$img = imagecreatefrompng($photo);
} else {
$img = "";
}
if(empty($img)) return False;
$width = ($width > $imgInfo["width"]) ? $imgInfo["width"] : $width;
$height = ($height > $imgInfo["height"]) ? $imgInfo["height"] : $height;
$srcW = $imgInfo["width"];
$srcH = $imgInfo["height"];
if ($srcW * $width > $srcH * $height) {
$height = round($srcH * $width / $srcW);
} else {
$width = round($srcW * $height / $srcH);
}
if (function_exists("imagecreatetruecolor")) {
$newImg = imagecreatetruecolor($width, $height);
ImageCopyResampled($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);
} else {
$newImg = imagecreate($width, $height);
ImageCopyResized($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);
}
if ($this->toFile) {
if (file_exists($this->annexFolder."/".$this->smallFolder."/".$newName)) @unlink($this->annexFolder."/".$this->smallFolder."/".$newName);
ImageJPEG($newImg,$this->annexFolder."/".$this->smallFolder."/".$newName);
return $this->annexFolder."/".$this->smallFolder."/".$newName;
} else {
ImageJPEG($newImg);
}
ImageDestroy($newImg);
ImageDestroy($img);
return $newName;
}
function waterMark($photo,$text) {
$imgInfo = $this->getInfo($photo);
$photo = $this->annexFolder."/".$photo;
$newName = substr($imgInfo["name"], 0, strrpos($imgInfo["name"], ".")) . "_mark.jpg";
switch ($imgInfo["type"]) {
case 1:
$img = imagecreatefromgif($photo);
break;
case 2:
$img = imagecreatefromjpeg($photo);
break;
case 3:
$img = imagecreatefrompng($photo);
break;
default:
return False;
}
if (empty($img)) return False;
$width = ($this->maxWidth > $imgInfo["width"]) ? $imgInfo["width"] : $this->maxWidth;
$height = ($this->maxHeight > $imgInfo["height"]) ? $imgInfo["height"] : $this->maxHeight;
$srcW = $imgInfo["width"];
$srcH = $imgInfo["height"];
if ($srcW * $width > $srcH * $height) {
$height = round($srcH * $width / $srcW);
} else {
$width = round($srcW * $height / $srcH);
}
if (function_exists("imagecreatetruecolor")) {
$newImg = imagecreatetruecolor($width, $height);
ImageCopyResampled($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);
} else {
$newImg = imagecreate($width, $height);
ImageCopyResized($newImg, $img, 0, 0, 0, 0, $width, $height, $imgInfo["width"], $imgInfo["height"]);
}
$white = imageColorAllocate($newImg, 255, 255, 255);
$black = imageColorAllocate($newImg, 0, 0, 0);
$alpha = imageColorAllocateAlpha($newImg, 230, 230, 230, 40);
ImageFilledRectangle($newImg, 0, $height-26, $width, $height, $alpha);
ImageFilledRectangle($newImg, 13, $height-20, 15, $height-7, $black);
ImageTTFText($newImg, 4.9, 0, 20, $height-14, $black, $this->fontType, $text[0]);
ImageTTFText($newImg, 4.9, 0, 20, $height-6, $black, $this->fontType, $text[1]);
if($this->toFile) {
if (file_exists($this->annexFolder."/".$this->markFolder."/".$newName)) @unlink($this->annexFolder."/".$this->markFolder."/".$newName);
ImageJPEG($newImg,$this->annexFolder."/".$this->markFolder."/".$newName);
return $this->annexFolder."/".$this->markFolder."/".$newName;
} else {
ImageJPEG($newImg);
}
ImageDestroy($newImg);
ImageDestroy($img);
return $newName;
}
}
?>
使用方法
复制代码 代码如下:
include 'Upimages.class.php';
$max="upload"; //文件上传路径
$mix="small"; //缩略图路径(必须在upload下建立)
$mark="mark"; //加水引的图片存放路径
$text = array("oktang","2012"); //水印内容
$img= new UpImages($max,$mix,$max); //实例化类文件
$photo = $img->upLoad("file"); //上传的文件域
$img->maxWidth = $img->maxHeight = 600; //设置高,和宽
$img->toFile = true;
$newSmallImg = $img->smallImg($photo);
$newMark = $img->waterMark($photo,$text);
echo $newSmallImg;
echo $newMark;
echo "
";
echo "
";
注意里面有个字体文件,大家可以从网上下载。

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In diesem Artikel erfahren Sie, wie Sie die Miniaturbildfunktion deaktivieren, die angezeigt wird, wenn die Maus das Taskleistensymbol im Win11-System bewegt. Diese Funktion ist standardmäßig aktiviert und zeigt eine Miniaturansicht des aktuellen Fensters der Anwendung an, wenn der Benutzer den Mauszeiger über ein Anwendungssymbol in der Taskleiste bewegt. Einige Benutzer empfinden diese Funktion jedoch möglicherweise als weniger nützlich oder störend für ihr Erlebnis und möchten sie deaktivieren. Miniaturansichten in der Taskleiste können Spaß machen, aber auch ablenken oder stören. Wenn man bedenkt, wie oft Sie mit der Maus über diesen Bereich fahren, haben Sie möglicherweise ein paar Mal versehentlich wichtige Fenster geschlossen. Ein weiterer Nachteil besteht darin, dass es mehr Systemressourcen verbraucht. Wenn Sie also nach einer Möglichkeit suchen, ressourceneffizienter zu arbeiten, zeigen wir Ihnen, wie Sie es deaktivieren können. Aber

Windows 1122H2 ist das erste Funktionsupdate für Windows 11 und dürfte eine Menge neuer Funktionen und dringend benötigter Verbesserungen mit sich bringen. Eine der Verbesserungen ist die Möglichkeit, Miniaturansichten von Dateien in einem Ordner in der Vorschau anzuzeigen. Wenn Ihnen das Aussehen der Ordner-Miniaturansichten in Windows 11 nicht gefällt, können Sie es wie folgt ändern. Eine Reihe benutzerdefinierter Symbole für Ordner-Miniaturansichten in Windows 11 (mit freundlicher Genehmigung von Reddits LEXX911), mit denen Sie Vorschauen vergrößern und Ordnersymbolstile ändern können. Sie müssen sich immer noch mit der Vorschau einzelner Dateien befassen (in Windows 7 können Ordner-Miniaturansichten beispielsweise mehrere Bilder gleichzeitig anzeigen), aber Sie können sie größer und komfortabler gestalten. WICHTIGER HINWEIS:

1. Geben Sie zunächst Visual Studio Code ein und klicken Sie oben links auf [Datei]. 2. Klicken Sie dann auf [Einstellungen]. 3. Klicken Sie auf den Punkt [Einstellungen]. 4. Klicken Sie dann auf [Texteditor-Miniaturansicht]. 5. Aktivieren Sie abschließend im Miniaturansichtselement die Option [Kontrollieren, ob Miniaturansichten angezeigt werden sollen].

Mit der Entwicklung des Internets sind Bilder zu einem unverzichtbaren Bestandteil von Webseiten geworden. Da jedoch die Anzahl der Bilder zunimmt, ist die Ladegeschwindigkeit von Bildern zu einem sehr wichtigen Thema geworden. Um dieses Problem zu lösen, verwenden viele Websites Miniaturansichten zum Anzeigen von Bildern. Um Miniaturansichten zu generieren, müssen wir jedoch professionelle Bildverarbeitungstools verwenden, was für einige Laien sehr problematisch ist. Dann ist die Verwendung von JavaScript zur automatischen Generierung von Miniaturansichten eine gute Wahl. So verwenden Sie JavaS

Ich treffe oft auf Kunden, die sagen, dass ein paar kleinere Computerprobleme in kritischen Zeiten sehr störend seien. Zusammenfassend gibt es Folgendes. Der Grund dafür, dass die Datei nicht auf den USB-Stick kopiert werden kann, liegt möglicherweise darin, dass das Partitionsformat des USB-Sticks FAT32 statt NTFS ist. Sie können versuchen, das Partitionsformat des USB-Flash-Laufwerks auf NTFS zu ändern, damit Sie große Dateien kopieren können. Zweitens werden die Bilder nicht als Miniaturansichten angezeigt, sodass Sie sie einzeln anklicken müssen, um sie zu finden. Der dritte Typ besteht darin, dass die Seite plötzlich größer oder kleiner wird. Wenn Sie diese drei Situationen nicht kennen, können sie mit ein paar einfachen Handgriffen gelöst werden. 1. Ändern Sie die U-Disk-Partition auf NTFS. Das Standardpartitionsformat einer neu gekauften U-Disk ist im Allgemeinen FAT32. Unter normalen Umständen ist die Verwendung kein Problem. Wenn Sie jedoch Dateien kopieren müssen, die größer als 4G sind, wird eine Meldung angezeigt, die nicht kopiert werden kann, was zu einigen Problemen bei der Verwendung führt. für

Detaillierte Erläuterung der Schritte zum Generieren von Miniaturansichten mit PHP, spezifische Codebeispiele sind erforderlich. In der heutigen Zeit der schnellen Internetentwicklung sind Bilder ein unverzichtbarer Bestandteil von Webseiten, aber hochauflösende Bilder beanspruchen nicht nur viel Bandbreite, sondern auch wirken sich auch auf die Ladegeschwindigkeit der Webseite des Benutzers aus. Daher müssen wir häufig Miniaturansichten aus Originalbildern erstellen, um die Bild- und Dateigröße zu reduzieren. Als beliebte serverseitige Skriptsprache bietet PHP umfangreiche Bildverarbeitungsfunktionen, die zum Generieren von Miniaturansichten verwendet werden können. Die Schritte zum Generieren von Miniaturansichten in PHP werden im Folgenden ausführlich vorgestellt.

1. Laden Sie in der Funktion [Bildverschönerung] von MeituXiuXiu das Bild hoch, dem Sie ein Wasserzeichen hinzufügen möchten, oder wählen Sie es aus. 2. Klicken Sie in der unteren Symbolleiste auf die Option [Text], geben Sie den Wasserzeicheninhalt ein und passen Sie dessen Farbe, Größe und Transparenz an. 3. Passen Sie die Größe und Position des Wasserzeichens an und klicken Sie auf [Fertig stellen], um die Bearbeitung zu bestätigen, nachdem Sie bestätigt haben, dass Sie zufrieden sind. 4. Klicken Sie abschließend auf die Schaltfläche [Speichern] in der oberen rechten Ecke, um das Bild mit dem Wasserzeichen zu speichern.

Tabellen in PowerPoint-Präsentationen helfen bei der Präsentation von Daten in einem strukturierten Format. Die in der Tabelle aufgeführten Zahlen haben eine bessere Wirkung auf das Publikum. Microsoft Powerpoint bietet mehrere Möglichkeiten, Tabellen zu Ihren Präsentationen hinzuzufügen. Sie können eine neue Tabelle hinzufügen oder eine vorhandene Tabelle in einer anderen Anwendung wie Excel oder Word kopieren. Methode 1: Fügen Sie eine Tabelle ein, indem Sie Zeilen und Spalten im Raster auswählen. Schritt 1: Klicken Sie in der PowerPoint-Miniaturansicht mit der rechten Maustaste auf „Folienvorlage“ und wählen Sie „Neue Folie“. Schritt 2: Gehen Sie zu Einfügen und klicken Sie auf Tabelle. Schritt 3: Wählen Sie aus den Dropdown-Menüs die Gesamtzahl der für die Tabelle erforderlichen Zeilen und Spalten aus. Beachten
