ホームページ >バックエンド開発 >PHPチュートリアル >PHP 画像のアップロードとサムネイル効果の生成_PHP チュートリアル
PHP画像のアップロードとサムネイル効果の生成 このチュートリアルは、PHP 画像をアップロードし、アップロードされた画像から小さな画像を生成します。これは非常に優れたファイル アップロード クラスです。同様のプログラムを探している場合は、ぜひご覧ください。php チュートリアルの画像アップロードと生成。サムネイル効果
このチュートリアルは、PHP 画像をアップロードし、アップロードされた画像から小さな画像を生成する非常に優れたファイル アップロード クラスです。
*/
グローバル $webaddr,$_files,$my;?> PHP 画像のアップロードとサムネイル効果の生成 このチュートリアルは、PHP 画像をアップロードし、アップロードされた画像から小さな画像を生成するプログラムです。$phpv=str_replace('.', '', php_version);
終了します;
$filename=$upname;
$max_file_size = 2147483648; //アップロードファイルサイズ制限、単位バイト2m
$path_im = $path_dim; //大きな画像を保存するフォルダーのパスを生成します
$path_sim = $path_xim //サムネイル保存フォルダーパス
; $simclely=75;
$simcleearlypng =$phpv>=512?7:75; //サムネイルの解像度は 0 ~ 100、数値が大きいほどファイル サイズが明確になります。 $smallmark = $smallmark; //サムネイルを生成するかどうか (1 は追加生成を意味し、それ以外は生成しません);
$dst_sw =$dstsw; //高さには等しい比率のスケーリングを使用するので、幅を比較します。 $uptypes=array(
'画像/jpg',
'画像/jpeg',
'画像/png',
'image/pjpeg',
'画像/gif',
'画像/bmp',
'image/x-png'
);
if (!is_uploaded_file($_files[$filename][tmp_name])) {
dsetcookie('setok','upload1');
header("location:bKjia.c0m/profile");}
終了します;
$file = $_files[$ファイル名];
$pinfo = pathinfo($file["name"]);
If ($filetype=="null") {
$filetype = $pinfo['extension'];
}
If (!in_array(strto lower($pinfo['extension']),array("jpg","jpeg","png","gif"))) {
dsetcookie('setok','upload3');
header("location:bKjia.c0m/profile");
終了します;
}
if($max_file_size < $file["size"]) {//ファイルサイズを確認します
dsetcookie('setok','upload2');
header("location:bKjia.c0m/profile");}
$src_w = $im_size[0];
If(!in_array($file["type"],$uptypes)) { //ファイルタイプをチェック
dsetcookie('setok','upload3');
header("location:bKjia.c0m/profile");
終了します;
}
If(!file_exists($path_im)) {
mkdir($path_im);
}
$filename = $file["tmp_name"];
$im_size = getimagesize($filename);
$src_h = $im_size[1];
$src_type = $im_size[2];$all_path = $path_im.$newname.".".$filetype;//パス + ファイル名、現在の名前はアップロード時間に基づいています
If (file_exists($all_path)) {
@unlink($all_path);
}
If(!move_uploaded_file ($filename,$all_path)) {
dsetcookie('setok','upload4');
header("location:bKjia.c0m/profile");
終了します;
}
$pinfo = パス情報($all_path);
$fname = $pinfo[ベース名];switch($src_type) {//ソース画像ファイルの種類を決定します
ケース 1://gif
$src_im = @imagecreatefromgif($all_path);// ソース画像ファイルから画像を取得します
休憩;
ケース2://jpg
$src_im = @imagecreatefromjpeg($all_path);
休憩;
ケース 3://png
$src_im = @imagecreatefrompng($all_path);
休憩;
//ケース 6:
//$src_im=imagecreatefromwbmp($all_path);
//休憩;
デフォルト:
dsetcookie('setok','upload3');
header("location:bKjia.c0m/profile");
終了します;
}if($smallmark == 1) {
If(!file_exists($path_sim)) {//サムネイル ディレクトリが存在するかどうかを確認し、存在しない場合は作成します
mkdir($path_sim);
}
If ($smallname) $newname=$smallname;
$sall_path = $path_sim.$newname.".".$filetype;
If (file_exists($sall_path)) {
@unlink($sall_path);
}
If($src_w <= $dst_sw) { // 元画像サイズ <= サムネイルサイズ
If ($dstsh==0) {
$dst_sim = @imagecreatetruecolor($src_w,$src_h) // 新しいサムネイル True Color ビットマップを作成します
$sx=$sy=0;
} else {
$dst_sim = @imagecreatetruecolor($dstsw,$dstsh); // 新しいサムネイル True Color ビットマップ
$sx=($dstsw-$src_w)/2;
$sy=($dstsh-$src_h)/2;
}
$img = @imagecreatefrompng("images/phbg.png");
@imagecopymerge($dst_sim,$img,0,0,0,0,$dstsw,$dstsh,100); //元の画像が新しい True Color ビットマップに書き込まれます
@imagecopymerge($dst_sim,$src_im,$sx,$sy,0,0,$src_w,$src_h,100); //元の画像が新しい True Color ビットマップに書き込まれます
}if($src_w > $dst_sw) { // 元の画像サイズ > サムネイルサイズ
@imagecopyresampled($dst_sim,$src_im,0,0,0,0,$dst_sw,$dst_sh,$src_w,$src_h) //元の画像が新しい True Color ビットマップに書き込まれます
$dst_sh = $dst_sw/$src_w*$src_h;
If ($dst_sh $dst_sh=$dstsh;
$dst_sw=$dst_sh/$src_h*$src_w;
}
if ($dstsh==0) {
$ Dst_sim = @ImageCreatetrueColor ($ dst_sw, $ dst_sh); // サムネイルのリアルカラー描画を新規作成 (等比率で元の画像サイズを縮小)
} else {
$ Dst_sim = @ImageCreateTrueColor ($ dstsw, $ dstsh) // サムネイルのリアルカラー位置を新規作成(元画像サイズの等倍縮小)
}}
を返します }
スイッチ($src_type) {
case 1:@imagegif($dst_sim,$sall_path,$simcleearly);//GIF ファイルを生成、画像解像度 0-100
休憩;
case 2:@imagejpeg($dst_sim,$sall_path,$simcleearly);//画像解像度 0-100 の jpg ファイルを生成します
休憩;
case 3:@imagepng($dst_sim,$sall_path,$simcleearlypng);//png ファイルを生成、画像解像度 0-100
休憩;
//ケース 6:
//imagewbmp($dst_sim,$sall_path);
休憩;
}
//キャッシュを解放します
@imagedestroy($dst_sim);
}
@imagedestroy($src_im);
$newname.".".$filetype;