ホームページ >バックエンド開発 >PHPチュートリアル >PHP 画像アップロード コード (ウォーターマーク、サムネイルをサポート)_PHP チュートリアル

PHP 画像アップロード コード (ウォーターマーク、サムネイルをサポート)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:46:18820ブラウズ

このコードはアップロードされた写真にサメを追加したり、必要な友達がそれを参照したりすることもできます。

このコードはアップロードされた写真にサメを追加したり、必要な友達がそれを参照したりすることもできます。

$uptypes=array('image/jpg', //ファイルタイプリストをアップロードします
'画像/jpeg'、
'画像/png'、
'画像/pjpeg'、
'画像/GIF'、
'画像/bmp'、
'画像/x-png'); $max_file_size=5000000; //アップロードファイルのサイズ制限、単位 BYTE
$destination_folder="upload/" //アップロードファイルのパス
; $watermark=1; //ウォーターマークを追加するかどうか (1 はウォーターマークを追加することを意味し、それ以外はウォーターマークを追加しないことを意味します); $watertype=1; //ウォーターマークのタイプ (1 はテキスト、2 は画像)
$waterposition=1; //ウォーターマークの位置 (1 は左下隅、2 は右下隅、3 は左上隅、4 は右上隅、5 は中央です); $waterstring="newphp.site.cz" //ウォーターマーク文字列
$waterimg="xplore.gif" //透かし画像
; $imgpreview=1; //プレビュー画像を生成するかどうか(1は生成、その他は生成しない); $imgpreviewsize=1/2; //サムネイルの比率
?>

M4U ブログ - fywyj.cn

ファイルをアップロードする:



アップロードできるファイルの種類は次のとおりです: jpg|jpeg|png|pjpeg|gif|bmp|x-png|swf

戻る

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
//ファイルが存在するかどうか
{
echo "ファイルが存在しません!"; 出る
}

$file = $_FILES["アップファイル"]; if($max_file_size < $file["size"])
// ファイルサイズを確認する
{
echo "ファイルが大きすぎます!"; 出る

}


if(!in_array($file["type"], $uptypes))
// ファイルタイプを確認します
{
echo "画像ファイルまたは Flash のみをアップロードできます!"; 出る
}

if(!file_exists($destination_folder))
mkdir($destination_folder);

$ファイル名=$ファイル["tmp_name"]
$image_size = getimagesize($filename); $pinfo=パス情報($file["名前"]); $ftype=$pinfo[拡張子]
$destination = $destination_folder.time().".".$ftype
if (file_exists($destination) && $overwrite != true)
{
echo "同じ名前のファイルはすでに存在します!"; 出る
}

if(!move_uploaded_file ($filename, $destination))
{
echo "ファイルの移動エラー!"; 出る
}

$pinfo=パス情報($destination);
$fname=$pinfo[ベース名];
echo " 既成功上传
文件名: ".$destination_folder.$fname."
" ;
echo " 宽度:".$image_size[0];
echo " 长度:".$image_size[1];
if($watermark==1)
{
$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
スイッチ ($iinfo[2])
{
ケース 1:
$simage =imagecreatefromgif($destination);
壊す;
ケース 2:
$simage =imagecreatefromjpeg($destination);
壊す;
ケース 3:
$simage =imagecreatefrompng($destination);
壊す;
ケース 6:
$simage =imagecreatefromwbmp($destination);
壊す;
デフォルト:
die("この種の文件はできません!");
出口;
}

imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);

スイッチ($watertype)
{
case 1: //加水監視符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
壊す;
case 2: //加水印图片
$simage1 =imagecreatefromgif("xplore.gif");
imagecopy($nimage,$simage1,0,0,0,0,85,15);
imagedestroy($simage1);
壊す;
}

スイッチ ($iinfo[2])
{
ケース 1:
//imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
壊す;
ケース 2:
imagejpeg($nimage, $destination);
壊す;
ケース 3:
imagepng($nimage, $destination);
壊す;
ケース 6:
imagewbmp($nimage, $destination);
//imagejpeg($nimage, $destination);
壊す;
}

//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}

if($imgpreview==1)
{
echo "
画像预览:
";
echo "图片预览:r文件名:";
}
}
?>



www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/632974.html技術記事このコードは、上方に転送される写真を追加すると同時に、比例して縮小することもでき、必要な友人は以下を参照することができます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。