-
-
/**************************************** - パラメータの説明:
- $max_file_size: アップロードするファイルのサイズ制限、単位 BYTE
- $destination_folder: アップロード ファイル パス
- $watermark: ウォーターマークを付けるかどうか (1 はウォーターマークを追加することを意味し、その他はウォーターマークを追加しないことを意味します);
使用手順:
- 1. GD ライブラリを使用する必要があるため、「extension=php_gd2.dll」行の前の ; 記号を削除します。
- 2. extension_dir = を php_gd2.dll が存在するディレクトリに変更します。
- ******* ***** ********/
//アップロードファイルタイプリスト
- $uptypes=array(
- 'image/jpg ',
- 'image/jpeg',
- 'image/png',
- 'image/pjpeg',
- 'image/gif',
- 'image/bmp',
- 'image/x-png'
- );< /p>
$max_file_size=2000000; //アップロードファイルサイズ制限、単位 BYTE
- $destination_folder="uploadimg/" //アップロードファイルパス
- $watermark=1;ウォーターマーク (1 はウォーターマークあり、その他はウォーターマークなし);
- $watertype=1; // ウォーターマークのタイプ (1 はテキスト、2 は画像)
- $waterposition=1; // ウォーターマークの位置 (1 は左下隅、 2 は右下隅、3 は左上隅、4 は右上隅、5 は中央);
- $waterstring="JYS Studio" //ウォーターマーク文字列
- $waterimg="xplore.gif";/ /ウォーターマーク画像
- $imgpreview= 1; //プレビュー画像を生成するかどうか(1は生成することを意味し、その他は生成しない);
- $imgpreviewsize=1/2; //サムネイル比率
- ?>
-
- ファイルをアップロード:
-
-
- アップロードできるファイル タイプは次のとおりです: =implode(', ',$uptypes)?>
- < ;/form>
-
- if ($_SERVER['REQUEST_METHOD'] == 'POST')
- {
- //ファイルは存在しますか?
- if ( !is_uploaded_file($_FILES["upfile"][tmp_name]) )
- {
- echo "画像が存在しません!";
- exit;
- }
- $file = $_FILES["upfile"];
- //チェックファイル サイズ
if($max_file_size < ; $file["size"])
- {
- echo "ファイルが大きすぎます! 2M を超えることはできません! ";
- exit;
- }
// ファイルの種類を確認します
- if(!in_array($file["type"], $uptypes))
- {
- echo "ファイルの種類は次のとおりです一致しません!" .$file["type"];
- exit;
- }
//アップロードしたフォルダーが存在しない場合は、自動的に作成されます
- if(!file_exists($ destination_folder))
- {
- mkdir ($destination_folder);
- }
$filename=$file["tmp_name"] // システムによって自動的に生成される一時ファイル名
- $filenamecustom = $file["name"]; //ユーザーがアップロードしたファイル名
- $image_size = getimagesize($filename) //画像サイズ
- $pinfo=pathinfo($file["name"]);アップロードされたファイルの情報
- $ftype=$pinfo[' extension'] //アップロードされたファイルの拡張子
- //$destination = $destination_folder.time().".".$ftype;//ディレクトリ +アップロードされたファイルのファイル名 + ファイルタイプ、ファイル名は time() によって決定されます。 Generate
- $destination = $destination_folder.$filenamecustom.".".$ftype;//アップロードされたファイルのディレクトリ + ユーザーファイル名 + ファイルtype
//同名のファイルが存在するか確認
- if (file_exists($destination) && $overwrite != true)
- {
- echo "同名のファイルは既に存在します" ;
- exit;
- }
// 指定したディレクトリにファイルを移動します
- if( !move_uploaded_file ($filename, $destination))
- {
- echo "ファイルの移動エラー";
- exit ;
- }
$pinfo=pathinfo($destination); //ファイルのパス情報
- $fname=$pinfo[basename] //アップロードされたファイル名サーバーへ
- // echo " は正常にアップロードされました!
ファイル名: ".$destination_folder.$fname." ";
/ / echo " アップロードに成功しました! ファイル名: ".$destination." ";
- echo " アップロードされました。
ファイル名: ".$destination_folder.$filenamecustom." ";
- echo " 幅:".$image_size[0 ];
- echo " length: ".$image_size[1];
- echo "
size: ".$file["size"]." bytes"; - if($watermark==1)
- {
- $iinfo=getimagesize($destination,$iinfo); //画像のサイズと種類を取得します
- $nimage=imagecreatetruecolor($image_size[0],$image_size[1]); //True Color 画像を作成して返します。識別子 Symbol,
- //サイズ x_size と y_size の黒の画像を表します
- $white=imagecolorallocate($nimage,255,255,255) //nimage は色を割り当てます
- $black=imagecolorallocate($nimage,0,0,0); $red=imagecolorallocate($nimage,255,0,0);
- imagefill($nimage,0,0,$white); //nimage 画像の座標 x、y (画像の左上隅は 0) , 0) カラー color を使用して領域の塗りつぶしを実行します
- // (つまり、x、y 点と同じ色の点および隣接する点が塗りつぶされます)
- /*
- 1 = GIF、2 = JPG、3 = PNG 、4 = SWF、5. = PSD、6 = BMP、7 = TIFF (インテル バイト オーダー)、8 = TIFF (モトローラ バイト オーダー)、
- 9 = JPC、10 = JP2、11 = JPX、12 = JB2、13 = SWC、14 = IFF、15 = WBMP、16 = XBM
- */
- switch ($iinfo[2])
- {
- case 1:
- $simage =imagecreatefromgif($destination); // 指定された画像から取得した画像ファイル名
- ブレーク;
- ケース 2:
- $simage =imagecreatefromjpeg($destination);
- ブレーク;
- ケース 3:
- $simage =imagecreatefrompng($destination);
- ブレーク;
- ケース 6:
- $simage =imagecreatefromwbmp($ destination);
- Break;
- default:
- die("サポートされていないファイル タイプ"); // exit() と同等
- }
- imagecopy($nimage,$simage,0,0,0,0,$image_size [0], $image_size[1]);//simage を 0,0 からコピー, $image_size[0] width, $image_size[1] height
- //simage の一部を座標 0,0 の位置にコピーin nimage p>
imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);// の左上隅の座標を 1 として描画します白色の nimage image , $image_size[1]-15
- //右下隅の座標が 80 の長方形, $image_size[1]
- switch($watertype)
- {
- case 1: //ウォーターマーク文字列を追加
- imagestring($ nimage,2, 3,$image_size[1]-15,$waterstring,$black);//ウォーターストリングを黒で nimage の 3,$image_size[1]-15 座標に描画します。フォントはビルドされたものです。フォント 2 で
- Break;
- case 2 : //ウォーターマーク画像を追加します
- $simage1 =imagecreatefromgif("xplore.gif");
- imagecopy($nimage,$simage1,0,0,0,0,85,15);
- imagedestroy($simage1); // simagel に関連付けられたメモリを解放します
- Break;
- }
- switch ($iinfo[2])
- {
- case 1:
- //imagegif($nimage, $destination);
- imagejpeg( $nimage, $destination); // nimage イメージから、destination をファイル名として持つ JPEG 画像を作成します。 nimage パラメータは、imagecreatetruecolor() 関数の戻り値です。
- break;
ケース2:
- imagejpeg($nimage, $destination);
- break;
ケース3:
- imagepng($nimage, $destination) ) );
- Break;
case 6:
- imagewbmp($nimage, $destination);
- //imagejpeg($nimage, $destination);
- Break;
- }
- //リリースメモリ
- imagedestroy($nimage);
- imagedestroy($simage);
- }
- if($imgpreview==1)
- {
- echo "
画像プレビュー: ";
- echo "";
- }
- }
- ?>
-
-
- コードをコピー
|