PHP は、jpg、png、gif などの複数の形式の画像アップロードをサポートしています。
一度に 2 つの画像をアップロードすることができます。アップロード後、元の画像と低品質の画像が生成され、元の画像は高品質の画像を保存するために使用され、低品質の画像は Web ページの表示に使用されます。
PHP コード
コードをコピー コードは次のとおりです:
include_once("db.php");
include_once("dbinfo.php");
$connector = 新しい nmdb($host, $username, $password);
$コネクタ -> 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");
$品質 = 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'];
//エコー $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);
休憩;
ケース "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality_png);
休憩;
ケース "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);
休憩;
ケース "image/png":
$resultImage = imagecreatefrompng($original);
imagepng($resultImage, $target, $quality2_png);
休憩;
ケース "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);
休憩;
ケース "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);
休憩;
ケース "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)に挿入 value('$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) value('$work_group','$name','$tel','$id_card','$work_name','$place','$work2','$work2_small','$date')";
$result2 = $connector -> クエリ($sql2) または die(mysql_error());
$page="../upload.php"; "<script>alert('アップロード成功!'); window.location = \"".$page."\";</script>";
いくつかの質問について説明する必要があります:
JPEG 画像は、0 (最低品質、最小ファイル サイズ) から 100 (最高品質、最大ファイル サイズ) のスケールで品質が生成される画像です。 ImagePNG によって生成される画像の品質の範囲は 0 ~ 9 です。渡されたパラメーターがこの範囲外の場合、関数は機能しません。
アップロードされたファイルのタイプを決定します ($type = $_FILES['work1']['type'];)。
上記では、PHP が jpg、png、gif などの複数の画像アップロード形式をサポートしていることを、内容の側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

phpstormでCLIモードをデバッグする方法は? PHPStormで開発するときは、PHPをコマンドラインインターフェイス(CLI)モードでデバッグする必要がある場合があります。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
