検索
ホームページphp教程php手册PHP は複数の形式での画像アップロードをサポートしています (jpg、png、gif をサポート)

PHP は複数の形式での画像アップロードをサポートしています (jpg、png、gif をサポート)

Jun 13, 2016 pm 12:04 PM
gifjpgphppngアップロード戻るそして写真サポートフォーマット生成する

一度に 2 つの画像をアップロードすることができます。アップロード後、元の画像と低品質の画像が生成され、元の画像は高品質の画像を保存するために使用され、低品質の画像は Web ページの表示に使用されます。
PHP コード

コードをコピー コードは次のとおりです:


include_once("db.php");
include_once("dbinfo.php");
$connector = new nmdb($host, $username, $password);
$connector -> select_db($database);
$work_group = check_input($_POST['work_group']);
$name = check_input($_POST['name']);
$tel = check_input($_POST['tel']);
$id_card = check_input($_POST['id_card']);
$work_name = check_input($_POST['work_name']);
$place = check_input($_POST['place']);
$work1 = check_input($_POST['work1']);
date_default_timezone_set('PRC');
$date = date("Y-m-d H:i:s");
$quality = 100;
$quality2 = 70;
$quality_png = 9;
$quality2_png = 7;
if(isset($_FILES['work1']) && $_FILES['work1']['error']==0)
{
$size = getimagesize($_FILES['work1' ]['tmp_name']);
$original = $_FILES['work1']['tmp_name'];
$type = $_FILES['work1']['type'];
//echo $type;
$target_name = date('YmdHis').'_'.preg_replace('`[^a-z0-9-_.]`i','',$_FILES['work1']['name' ]);
$work1 = $target_name;
$target = dirname(__FILE__).'/uploads/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality);
休憩;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality_png);
休憩;
case "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality);
休憩;
デフォルト :
die("不サポートこの文件类型");
終了;
}
$work1_small = $target_name;
$target = dirname(__FILE__).'/uploads/small/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality2);
休憩;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality2_png);
休憩;
case "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality2);
休憩;
デフォルト :
die("不サポートこの文件类型");
終了;
}
}
if(isset($_FILES['work2']) && $_FILES['work2']['error']==0)
{
$size = getimagesize($_FILES['work2']['tmp_name']);
$original = $_FILES['work2']['tmp_name'];
$type = $_FILES['work2']['type'];
$target_name = date('YmdHis').'_'.preg_replace('`[^a-z0-9-_.]`i','',$_FILES['work2']['name' ]);
$work2 = $target_name;
$target = dirname(__FILE__).'/uploads/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality);
休憩;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality_png);
休憩;
ケース "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality);
休憩;
デフォルト :
die("不サポートこの文件类型");
終了;
}
$work2_small = $target_name;
$target = dirname(__FILE__).'/uploads/small/'.$target_name;
switch($type)
{
case "image/jpeg":
$resultImage = imagecreatefromjpeg($original);
imagejpeg($resultImage, $target, $quality2);
休憩;
case "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality2_png);
休憩;
ケース "image/gif":
$resultImage = imagecreatefromgif($original);
imagegif($resultImage, $target, $quality2);
休憩;
デフォルト :
die("不サポートこの文件类型");
終了;
}
}
$sql="写真に挿入(work_group,name,tel,id_card,work_name,place,work,work_small,date) 値('$work_group','$name','$tel','$id_card') ,'$work_name','$place','$work1','$work1_small','$date')";
//echo $sql;
$result = $connector -> query( $sql) または die(mysql_error());
if($work2 != "" && $work2_small != null)
{
$sql2="写真に挿入(work_group,name,tel, id_card,work_name,place,work,work_small,date)values('$work_group','$name','$tel','$id_card','$work_name','$place','$work2',' $work2_small','$date')";
$result2 = $connector -> query($sql2) または die(mysql_error());
}
$connector -> close($コネクタ);
$page="../upload.php";
echo "<script>alert('アップロード成功!'); window.location = \"".$page."\" ;</script>";
?>


いくつかの問題について説明する必要があります:
JPEG 画像によって生成された画像の品質は 0 (最低) からの範囲です。品質、最小ファイル サイズ) から 100 (最高品質、最大ファイル サイズ)。 ImagePNG によって生成される画像の品質の範囲は 0 ~ 9 です。渡されたパラメーターがこの範囲外の場合、関数は機能しません。
アップロードされたファイルのタイプを判断するには、$type = $_FILES['work1']['type']; とします。
次の関数を使用して、imagecreatefromjpeg()、imagecreatefrompng()、imagecreatefromgif() のさまざまな形式で画像を作成できます。
声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター