ホームページ  >  記事  >  バックエンド開発  >  PHP イメージのダウンロードとプレビュー

PHP イメージのダウンロードとプレビュー

WBOY
WBOYオリジナル
2016-06-13 13:05:30793ブラウズ

PHP 画像のアップロードとプレビュー

header("content-Type: text/html; charset=gb2312");
$uptypes=array('image/jpg', //アップロードファイルタイプリスト
'画像/jpeg'、
'画像/png'、
'image/pjpeg'、
'画像/gif'、
'画像/bmp'、
'application/x-shockwave-flash'、
'image/x-png'、
'アプリケーション/msword'、
'audio/x-ms-wma'、
'オーディオ/mp3'、
'application/vnd.rn-realmedia'、
'application/x-zip-compressed',
'application/octet-stream');
$max_file_size=1000000; //アップロードファイルのサイズ制限、単位 BYTE
$path_parts=pathinfo($_SERVER['PHP_SELF']); // 現在のパスを取得します
$destination_folder="up/" // アップロード ファイル パス
$watermark=1; //ウォーターマークを追加するかどうか (1 はウォーターマークを追加することを意味し、0 はウォーターマークを追加しないことを意味します);
$watertype=1; //ウォーターマークの種類 (1 はテキスト、2 は画像)
$waterposition=2; //ウォーターマークの位置 (1 は左下隅、2 は右下隅、3 は左上隅、4 は右上隅、5 は中央); >
$waterstring="www.tt365.org"; //ウォーターマーク文字列
$waterimg="xplore.gif" //透かし画像
$imgpreview=1; //プレビュー画像を生成するかどうか (1 は生成することを意味し、0 は生成しないことを意味します); $imgpreviewsize=1/1; //サムネイル比率
?>


画像のアップロードと保存















最大文件限制1M



onchange="javascript:FileChange(this.value);">


上に転送されたファイルの種類:jpg|jpeg|gif|bmp|png|swf|mp3|wma|zip|rar|doc


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 "この種類のファイルはアップロードできません。";
終了;
}
if(!file_exists($destination_folder))
mkdir($destination_folder);
$filename=$file["tmp_name"];
$image_size = getimagesize($filename);
$pinfo=pathinfo($file["name"]);
$ftype=$pinfo[拡張子];
$destination = $destination_folder.time().".".$ftype;
if (file_exists($destination) && $overwrite != true)
{
echo "同名文件已经存在了!";
終了;
}
if(!move_uploaded_file ($filename, $destination))
{
echo "移転文件出错!";
exit;
}
$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo " 成功上传,鼠标移动到地址栏自动复制
图片UBB代码
文件地址:http://".$_SERVER['SERVER_NAME'].$path_parts["dirname"]."/".$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)
{
ケース 1: //加水標識串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
休憩;
ケース 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 " echo " alt="画像プレビュー:rファイル名:".$fname."rアップロード時間:".date('m/d/Y h:i')."" border='0'> < /a>";
}
}
?>



衛星 tp とはどういう意味ですか: http://zhidao.baidu.com/question/248832437.html