首頁 後端開發 php教程 《PHP编程最快明白》第七讲:php图片验证码与缩略图_PHP

《PHP编程最快明白》第七讲:php图片验证码与缩略图_PHP

Jun 01, 2016 pm 12:17 PM
圖片驗證碼 縮圖

实例22 图片验证的核心代码
复制代码 代码如下:
//header("content-type:image/png");
$num ='1234';
$imagewidth=60;
$imageheight=18;

$numimage = imagecreate($imagewidth,$imageheight);
imagecolorallocate($numimage,240,240,240);
for($i=0;$i$x = mt_rand(1,8)+$imagewidth*$i/4;
$y = mt_rand(1,$imageheight/4);
$color=imagecolorallocate($numimage,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150));
imagestring($numimage,5,$x,$y,$num[$i],$color);
}

for($i=0;$i$randcolor=imagecolorallocate($numimage,rand(200,255),rand(200,255),rand(200,255));
imagesetpixel($numimage,rand()%70,rand()%20,$randcolor);
}
imagepng($numimage);
imagedestroy($numimage);
?>

这个是输出4个验证码的例子,对于汉字,需要font文件和imagettftext函数,用到的时候大家再网上搜索吧。你要产生随机数,那有mt_rand函数;你还要用到session保存这个随机数;如果需要转成utf-8,需要iconv函数。

实例23 缩略图
复制代码 代码如下:
class SimpleImage {
var $image;
var $image_type;
function load($filename) {
$image_info = getimagesize($filename);
$this->image_type = $image_info[2];
if( $this->image_type == IMAGETYPE_JPEG ) {
$this->image = imagecreatefromjpeg($filename);
} elseif( $this->image_type == IMAGETYPE_GIF ) {
$this->image = imagecreatefromgif($filename);
} elseif( $this->image_type == IMAGETYPE_PNG ) {
$this->image = imagecreatefrompng($filename);
}
}
function save($filename, $image_type=IMAGETYPE_JPEG, $compression=75, $permissions=null) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image,$filename,$compression);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}
function output($image_type=IMAGETYPE_JPEG) {
if( $image_type == IMAGETYPE_JPEG ) {
imagejpeg($this->image);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image);
} elseif( $image_type == IMAGETYPE_PNG ) {
imagepng($this->image);
}
}
function getWidth() {
return imagesx($this->image);
}
function getHeight() {
return imagesy($this->image);
}
function resizeToHeight($height) {
$ratio = $height / $this->getHeight();
$width = $this->getWidth() * $ratio;
$this->resize($width,$height);
}
function resizeToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
}
function scale($scale) {
$width = $this->getWidth() * $scale/100;
$height = $this->getheight() * $scale/100;
$this->resize($width,$height);
}
function resize($width,$height) {
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $this->image, 0, 0, 0, 0, $width, $height, $this->getWidth(), $this->getHeight());
$this->image = $new_image;
}
}

$newfile = UPLOAD_DIR."/icons/".md5($_SESSION['USER']->email).".jpg";//上传文件保存的目录
$image = new SimpleImage();
$image->load($_FILES['icons']['tmp_name']);//上传的临时文件名
$image->resizeToWidth(80);设置宽度
$image->save($newfile);
?>

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Win11怎麼停用工作列縮圖預覽? 關閉滑鼠移動工作列圖示顯示縮圖技巧 Win11怎麼停用工作列縮圖預覽? 關閉滑鼠移動工作列圖示顯示縮圖技巧 Feb 29, 2024 pm 03:20 PM

本文將介紹如何在Win11系統中關閉滑鼠移動工作列圖示時顯示的縮圖功能。這項功能在預設情況下是開啟的,當使用者將滑鼠指標懸停在工作列上的應用程式圖示上時,會顯示該應用程式的目前視窗縮圖。然而,有些用戶可能覺得這個功能不太實用或會幹擾到他們的使用體驗,因此想要關閉它。工作列縮圖可能很有趣,但它們也可能分散注意力或煩人。考慮到您將滑鼠懸停在該區域的頻率,您可能無意中關閉了重要視窗幾次。另一個缺點是它使用更多的系統資源,因此,如果您一直在尋找一種提高資源效率的方法,我們將向您展示如何停用它。不過

如何在 Windows 11 22H2 中自訂資料夾縮圖 如何在 Windows 11 22H2 中自訂資料夾縮圖 Apr 30, 2023 pm 04:52 PM

Windows1122H2是Windows11的第一個功能更新,應該會帶來大量新功能和急需的改進。其中一項改進是允許預覽資料夾內文件的資料夾縮圖。如果您不喜歡Windows11中資料夾縮圖的外觀,可以透過以下方式變更它。 Windows11中資料夾縮圖的一組自訂圖示(由Reddit的LEXX911提供)可讓您放大預覽並變更資料夾圖示樣式。您仍然需要處理單一檔案預覽(例如,在Windows7中,資料夾縮圖可以同時顯示多個影像),但您可以將其做得更大更方便。重要提示:

Google瀏覽器不顯示驗證碼圖片怎麼辦?chrome瀏覽器不顯示驗證碼? Google瀏覽器不顯示驗證碼圖片怎麼辦?chrome瀏覽器不顯示驗證碼? Mar 13, 2024 pm 08:55 PM

谷歌瀏覽器不顯示驗證碼圖片怎麼辦?在使用Google瀏覽器登入網頁有時候需要驗證碼驗證。部分使用者在使用圖片驗證碼的時候發現Google瀏覽器無法正常顯示圖片的內容。這該怎麼辦呢?下面小編帶來Google瀏覽器驗證碼不顯示處理方法介紹,希望對大家有幫助!  方法介紹  1、進入軟體,點選右上角的「更多」按鈕,選擇下方選項清單中的「設定」進入。  2、進入新介面後,點選左側的「隱私設定與安全性」選項。  3、接著點擊右側中的「網站設定&rdquo

Vscode怎麼顯示縮圖_Vscode顯示縮圖方法 Vscode怎麼顯示縮圖_Vscode顯示縮圖方法 Apr 02, 2024 pm 02:43 PM

1.先進入VisualStudioCode後,點選左上角【檔案】。 2、然後點選【首選項】。 3.點選【設定】項。 4.接著點選【文字編輯器-縮圖】。 5.最後在縮圖項,開啟【控制是否顯示縮圖】。

Java API 開發中實作圖片驗證碼的方法 Java API 開發中實作圖片驗證碼的方法 Jun 18, 2023 am 09:22 AM

隨著網路科技的快速發展,為了保障系統安全,驗證碼已經成為了各個系統中必備的一部分。其中,圖片驗證碼依靠它的易用性和安全性受到開發者們的青睞。本文將介紹在JavaAPI開發中,實作圖片驗證碼的具體方法。一、什麼是圖片驗證碼圖片驗證碼是一種透過圖片進行人機驗證的方式。通常由一張包含數字、字母、符號等的隨機組合圖片構成,提高了系統的安全性。其工作原理包括

如何使用PHP產生可刷新的圖片驗證碼 如何使用PHP產生可刷新的圖片驗證碼 Sep 13, 2023 am 11:54 AM

如何使用PHP產生可刷新的圖片驗證碼隨著網路的發展,為了防止惡意攻擊和機器自動操作現象,許多網站都使用了驗證碼來進行使用者驗證。其中一個常見的驗證碼類型就是圖片驗證碼,透過產生一張包含隨機字元的圖片,要求使用者輸入正確的字元才能進行後續操作。本文將介紹如何使用PHP產生可刷新的圖片驗證碼,並提供具體的程式碼範例。步驟一:建立驗證碼圖片首先,我們需要建立一個用於生

PHP產生縮圖的步驟詳解 PHP產生縮圖的步驟詳解 Sep 13, 2023 am 08:40 AM

PHP產生縮圖的步驟詳解,需要具體程式碼範例在現今互聯網高速發展的時代,圖片是網頁中不可或缺的一部分,但是高解析度的圖片不僅會佔用大量的頻寬,還會影響使用者的網頁加載速度。因此,我們常常需要將原始圖片產生縮圖,以縮小圖片尺寸和檔案大小。 PHP作為一種流行的伺服器端腳本語言,它提供了豐富的影像處理功能,可以用來產生縮圖。以下將詳細介紹PHP產生縮圖的步驟,

使用JavaScript實現自動縮圖生成 使用JavaScript實現自動縮圖生成 Jun 16, 2023 pm 12:51 PM

隨著網路的發展,圖片已成為網頁中不可或缺的一部分。但是隨著圖片數量的增多,圖片的載入速度成為了一個很重要的問題。為了解決這個問題,許多網站都採用了縮圖的方式來展示圖片,但是為了產生縮圖,我們需要使用專業的圖片處理工具,對於一些非專業人士來說,這是一個很麻煩的事情。那麼,使用JavaScript實現自動縮圖產生就成為了一個不錯的選擇。如何使用JavaS

See all articles