ホームページ  >  記事  >  バックエンド開発  >  「最速で理解する PHP プログラミング」の講義 7: PHP 画像検証コードと Thumbnail_PHP チュートリアル

「最速で理解する PHP プログラミング」の講義 7: PHP 画像検証コードと Thumbnail_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:33:04798ブラウズ

例 22 画像検証のコア コード

コードをコピーします コードは次のとおりです:

//header("content-type:image/png");
$num = '1234';
$imageheight=18;

$numimage($imagewidth,$imageheight);
for($i=0;$i< strlen($num) ;$i++){
$x = mt_rand(1,8)+$imagewidth*$i/4;
$y = mt_rand(1,$imageheight/4); numimage,mt_rand(0,150 ),mt_rand(0,150),mt_rand(0,150));
imagestring($numimage,5,$x,$y,$num[$i],$color); i=0;$ i<200;$i++){
$randcolor=imagecolorallocate($numimage,rand(200,255),rand(200,255),rand(200,255));
imagesetpixel($numimage,rand()%70, rand()%20 ,$randcolor);
imagepng($numimage);


これは、漢字の場合、フォント ファイルを出力する例です。 imagettftext関数が必要なので、いざという時にネットで検索してみましょう。乱数を生成したい場合は mt_rand 関数が必要で、乱数を utf-8 に変換する必要がある場合は session を使用する必要があります。

例 23 サムネイル



コードをコピー
コードは次のとおりです。 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) -> ;画像,$ファイル名,$圧縮);
} elseif( $image_type == IMAGETYPE_GIF ) {
imagegif($this->image,$filename)
} elseif( $image_type == IMAGETYPE_PNG ); ($ this->image,$filename);
}
if( $permissions != null) {
chmod($filename,$permissions);
}
}
関数出力($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 imagex($this->image)
}
function getHeight() {
return imagey($this- > 画像);
}
関数sizeToHeight($height) {
$ratio = $this->getHeight(); ->resize($width,$height);
}
関数リサイズToWidth($width) {
$ratio = $width / $this->getWidth();
$height = $this->getheight() * $ratio;
$this->resize($width,$height);
関数scale($scale) {
$width = $this->getWidth() * $scale/100; = $this->getheight() * $scale/100;
$this->resize($width,$height);
関数 サイズ変更($width,$height) {
$new_image = imagecreatetruecolor($)幅, $高さ);
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)>



http://www.bkjia.com/PHPjc/322671.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/322671.html

技術記事

例 22 イメージ検証のコア コードは次のようにコピーされます。 imagecreate ($imag...



)

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。