ホームページ >バックエンド開発 >PHPチュートリアル >共有: 画像をアップロードするための php コード

共有: 画像をアップロードするための php コード

WBOY
WBOYオリジナル
2016-06-23 14:36:55931ブラウズ

転載元: http://www.jbxue.com/article/6379.html

php 画像をアップロードするためのコードは非常にシンプルで、基本的なファイル タイプとファイル サイズの検出、および基本的な透かしと圧縮を実装しています。いくつかの機能があり、初心者が参照するのに適しています。

アップロード ページと処理ページは 1 つに結合されており、ファイル名は test_upload_pic.php です。

コードのコード例をコピーします:

/*
* パラメーターdescription
* $max_file_size : アップロードファイルサイズ制限、単位 BYTE
* $destination_folder: アップロードファイルパス
* $watermark: ウォーターマークを追加するかどうか (1 はウォーターマークを追加することを意味し、それ以外はウォーターマークを追加しないことを意味します);
* http:// www.jbxue.com
* 使用手順:
* 1. GD ライブラリを使用する必要があるため、PHP.INI ファイルの「extension=php_gd2.dll」行の前にある ; 番号を削除します。 . 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 は左下隅、2 は右下隅、3 は左上隅、4 は右上隅中央);
$waterstring = "http://www.jbxue.com/" //ウォーターマーク文字列
$waterimg = "xplore.gif"; // サムネイルのスケールを縮小します
?>


ZwelL 画像アップローダー









if ($_SERVER['REQUEST_METHOD'] == 'POST') {
//アップロードされたファイルがあるかどうかを判断します

if (is_uploaded_file($_FILES['upfile'][ 'tmp_name'])) {

$upfile = $_FILES['upfile']; = $upfile['type ']; // ファイルの種類 $size = $upfile['size']; // ファイルのサイズ $tmp_name = $upfile['tmp_name']; / /一時ファイル
$error = $ upfile ['error']; // エラーの理由


($ max_file_size & lt; $ size) {// ファイルのサイズ
echo 'アップロード ファイルが大きすぎます大きい';
終了 () }}}

if (!in_arrar($type, $uptypes)) { // 判断文件の类型
echo '上传文件类型不符' 。 $type;
exit ();
}

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

if (file_exists("upload/" . $_FILES["file"][ "名前"])) {
echo $_FILES["ファイル"]["名前"] 。 " すでに存在します。 ";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "保存場所: " 。 "アップロード/" 。 $_FILES["file"]["name"];
}

$pinfo = pathinfo($name);
$ftype = $pinfo['extension'];
$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 " 已经成功上传
文件名: " 。 $destination_folder 。 $fname 。 "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 = imagecoloral locate($nimage , 255, 255, 255);
$black = imagecolorallocate($nimage, 0, 0, 0);
$red = imagecolorallocate($nimage, 255, 0, 0);
imagefill($nimage, 0 、0、 $white);
switch ($iinfo[2]) {
case 1 :
$simage = imagecreatefromgif($destination);
ブレーク;
ケース 2 :
$simage = imagecreatefromjpeg($destination);
Break;
ケース3 :
$simage = imagecreatefrompng($destination);
ブレーク;
ケース 6 :
$simage = imagecreatefromwbmp($destination);
Break;
デフォルト :
die("不サポートな文件型");
終了します。
}} emageCopy($ nimage、$ simage、0、0、0、0、$ image_size [0]、$ image_size [1]); , $image_size[1], $white);

switch ($watertype) {
case 1 : //加水標識串

imagestring($nimage, 2, 3, $image_size[1] - 15、$ウォーターストリング, $black);
Break;

case 2 : //加水印图片


$simage1 = imagecreatefromgif("xplore.gif");
imagecopy($nimage, $simage1, 0, 0, 0, 0, 85, 15);

imagedestroy($simage1);

ブレーク;
}

switch ($iinfo[2]) {
case 1 :
//imagegif($nimage, $destination);

imagejpeg($nimage, $destination);

imagejpeg($nimage, $destination); );
ブレーク;
ケース 3 :
imagepng($nimage, $destination);
ブレーク;
ケース 6 :
imagewbmp($nimage, $destination); //imagejpeg($nimage, $destination);
ブレーク;
}

// 因标原格得文件
imagedestroy($nimage);
imagedestroy($simage);

}

if ($imgpreview == 1) {
echo "

";
echo "图片图片:r文件名:";

}

}
}
?>




您您性体育的文章:
php 多图像アップロード中の图文(图文)
php ドキュメントのアップロード中に問題が発生しました(move_uploaded_file)

php 普通表单多设计安全なコード PHP ファイルアップロードの原理を理解する

php の単純なファイルアップロードの例
アップロードするファイルタイプを判断するいくつかの方法 php 多设计の画像のコード
php 多文件の欢迎
php多の実装デザイン画像の掜

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:[php]smtp.class.php次の記事:[php]smtp.class.php