-
-
/*
- * 參數說明
- * $max_file_size : 上傳檔案大小限制, 單位BYTE
- * $destination_folder : 上傳檔案路徑
- * $watermark : 是否附加浮水印(1為加浮水印,其他為不加水印);
- * http://bbs.it-home.org
- * 使用說明:
- * 1. 將PHP.INI檔案裡面的"extension=php_gd2.dll"一行前面的;號去掉,因為我們要用到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 echo '上傳檔案太大';
- exit ();
- }
-
if (!in_arrar($type, $uptypes)) { //判斷檔案的型別
- echo '上傳檔案型別不符' . $type;
- exit ();
- }
if (!file_exists($destination_folder)) {
- mkdir($destination_folder);
- }
if (file_exists("upload/" . $ _FILES["file"]["name"])) {
- echo $_FILES["file"]["name"] . " already exists. ";
- } else {
- move_uploaded_file($_FILES ["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
- echo "Stored in: " . "upload/" . $_FILES["file "]["name"];
- }
$pinfo = pathinfo($name);
- $ftype = $pinfo['extension'];
- $destination = $destination_folder . time() . "." . $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 " 已成功上傳檔名: " 。 $destination_folder 。 $fname . "
";
- echo "寬度:" . $image_size[0];
- echo "長度:" . $image_size[1];
- echo "
大小:" 。 $檔案[“大小”]。 「位元組」;
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);
- switch ($iinfo[2]) {
- 情況1 :
- $simage = imagecreatefromgif($destination);
- 中斷;
- 案例2 :
- $simage = imagecreatefromjpeg($destination);
- 中斷; 中斷;
- 案例6 :
- $simage = imagecreatefromwbmp($destination);
- break;
- 預設:
- die" ");
- exit;
- } p>
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);
- 中斷;
- }
switch ($iinfo[2]) {
- case 1 :
switch ($iinfo[2]) {
- case 1 :
- //imagegif($nimage, $destination);
imagejpeg($nimage, $destination);
- 中斷;
- 狀況2 :
- imagejpeg($nimage , $destination);
- 中斷;
- 情況3 :
- imagepng($nimage , $destination);
- 中斷;
- 情況6 :
- imagewbmp($image, $dedepdemation) ;
- //imagejpeg($nimage, $destination);
- 中斷;
- }
//覆寫原始上傳檔案
- imagedestroy($nimage);
- imagedestroy($simage);
- }
if ($imgpreview == 1) {
- echo "
圖片預覽: ";
- echo "";
- }
- }
- }
- ?>
-
|