-
-
/* - * パラメーターの説明
- * $max_file_size: アップロードファイルのサイズ制限、単位 BYTE
- * $destination_folder: アップロードファイルのパス
- * $watermark: ファイルを添付するかどうかウォーターマーク (1 はウォーターマークを追加することを意味し、その他はウォーターマークを追加しないことを意味します);
- * http://bbs.it-home.org
- * 使用方法:
- * 1. 「extension=php_gd2.dll」の行の前PHP.INI ファイル GD ライブラリを使用する必要があるため、; 記号を削除します;
- * 2. extension_dir = を php_gd2.dll が配置されているディレクトリに変更します;
- */
- // ファイル タイプ リストをアップロードします
- $uptypes = array (
- 'image/jpg',
- 'image/png',
- 'image/jpeg',
- 'image/pjpeg',
- 'image/gif',
- 'image/bmp',
- 'image/x- png'
- );
- $max_file_size = 20000000; //アップロードファイルサイズ制限、単位 BYTE
- $destination_folder = 'uploadimg/'; //アップロードファイルパス
- $watermark = 1 (1 はウォーターマークを付けるかどうかを意味します)ウォーターマークを追加する、その他はウォーターマークを追加しないことを意味します );
- $watertype = 1; //ウォーターマークのタイプ (1 はテキスト、2 は画像)
- $waterposition = 1; // ウォーターマークの位置 (1 は左下隅、2 はウォーターマークです)右下隅、3 は左上隅、4 は右上隅、5 は中央);
- $waterstring = "http://bbs.it-home.org/" //ウォーターマーク文字列
- $waterimg = "xplore.gif"; //ウォーターマーク画像
- $imgpreview = 1 ; //プレビュー画像を生成するかどうか(1は生成することを意味し、その他は生成しません);
- $imgpreviewsize = 1 / 2; //サムネイル比率
- ? >
- ZwelL画像アップロードプログラム
-
-
-
-
-
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- //アップロードされたファイルがあるかどうかを判断します
if (is_uploaded_file($_FILES['upfile']['tmp_name']) ) {
- $upfile = $_FILES['upfile'];
- print_r($_FILES['upfile']);
- $name = $upfilep[ 'name']; //ファイル名
- $type = $upfile['type']; //ファイルタイプ
- $size = $upfile['size']; //ファイルサイズ
- $tmp_name = $upfile['tmp_name] ']; //一時ファイル
- $error = $upfile['error' ]; //エラーの原因
if ($max_file_size < $size) { // file - echo 'アップロードされたファイルが大きすぎます';
- exit ();
- }< /p>
if (!in_arrar($type, $uptypes)) { //ファイルの種類を決定します
- 'アップロードされたファイルの種類が一致しません' . $type;
- exit ();
- }
if (!file_exists($destination_folder)) {
- mkdir($destination_folder);
- }< /p>
if (file_exists("upload/" . $_FILES["file" ]["name"])) {
- echo $_FILES["file"]["name"] " はすでに存在します。 . ";
- } else {
- move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
- echo "保存場所: " . "アップロード/" . $_FILES["ファイル"]["名前"];
- } p>
$pinfo = pathinfo($name);
- $ftype = $pinfo['拡張子'] ;
- $destination = $destination_folder . "." $ftype;
- if (file_exists ($destination) && $overwrite != true) {
- echo "同じ名前のファイルが既に存在します";
- exit ();
- }
if (!move_uploaded_file($tmp_name, $destination )) {
- echo "ファイルの移動エラー";
- exit ();
- }
$pinfo = pathinfo($destination);
- $fname = $pinfo[basename];
- echo " 已经成功上传
文件名: gt; ";
- echo "宽度:" 。 $image_size[0];
- echo "长度:" 。 $image_size[1];
- echo "
大小:" 。 $file["サイズ"] 。 " バイト";
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, $白);
- switch ($iinfo[2]) {
- ケース 1 :
- $simage = imagecreatefromgif($destination);
- ブレーク;
- ケース 2 :
- $simage = imagecreatefromjpeg($destination);
- ブレーク;
- ケース 3 :
- $simage = imagecreatefrompng($destination);
- ブレーク;
- ケース 6 :
- $simage = imagecreatefromwbmp($destination);
- ブレーク;
- デフォルト :
- die("不サポートな文件类型");
- exit;
- }
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);
switch ($watertype) {
- case 1 : //加水発言符串
imagestring($nimage, 2, 3, $image_size[1] - 15, $waterstring, $black);
- Break;
- case 2 : //加水印图片
$simage1 = imagecreatefromgif("xplore.gif");
- imagecopy($nimage, $simage1, 0, 0, 0, 0, 85, 15);
- imagedestroy($simage1);
- Break;
- }
switch ($iinfo[2]) {
- case 1 :
- //imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
- ブレーク;
- ケース 2 :
- imagejpeg($nimage, $destination);
- ブレーク;
- ケース 3 :
- imagepng($nimage, $destination);
- ブレーク;
- ケース 6 :
- imagewbmp($nimage, $destination);
- //imagejpeg($nimage, $destination);
- Break;
- }
//上書き文書
- imagedestroy($nimage);
- imagedestroy($simage);
- }
if ($imgpreview == 1) {
- echo "
gt;图片预览: "; - echo "";
- }
- }
- }
- ?>
-
|