PHP を使用して画像のアップロードと処理機能を実装する方法
Web 開発では、画像のアップロードと処理は一般的な機能要件です。この記事では、PHP を使用して画像のアップロードおよび処理機能を実装する方法を紹介し、対応するコード サンプルを参考として提供します。
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image" id="image"> <input type="submit" value="上传"> </form>
上記のコードでは、ff9c23ada1bcecdd1a0fb5d5a0f18437
タグの action
属性で、処理する PHP ファイルを指定します。フォーム送信後のデータ。アドレスは upload.php
です。 3525558f8f338d4ea90ebf22e5cde2bc
画像ファイルの入力フィールドを指定するタグです。
upload.php
という名前の PHP ファイルを作成します。 PHP コードは次のとおりです。 <?php $targetDir = "uploads/"; // 上传文件保存的目录 $fileName = basename($_FILES["image"]["name"]); // 获取上传文件名 $targetFilePath = $targetDir . $fileName; // 拼接上传文件路径 // 检查文件类型 $fileType = pathinfo($targetFilePath, PATHINFO_EXTENSION); if (!in_array($fileType, array("jpg", "jpeg", "png", "gif"))) { echo "只允许上传 JPG, JPEG, PNG 或 GIF 格式的图像"; exit; } // 尝试移动上传文件到指定目录 if (move_uploaded_file($_FILES["image"]["tmp_name"], $targetFilePath)) { echo "文件上传成功"; } else { echo "文件上传失败"; } ?>
上記のコードでは、アップロードされたファイルを保存するためにディレクトリ uploads/
が最初に定義され、basename( )
関数 アップロードされたファイルのファイル名。次に、ターゲット ファイル パスを $targetDir . $fileName
に連結します。
次に、pathinfo()
関数を使用してアップロードされたファイルの種類を取得し、in_array()
関数を使用して、それが許可されているファイルの種類であるかどうかを確認します。アップロードしたファイルがJPG、JPEG、PNG、GIF以外の場合は、エラーメッセージが出力され、スクリプトの実行が終了します。
最後に、move_uploaded_file()
関数を使用して、アップロードされたファイルを指定したディレクトリに移動し、戻り値に基づいて、対応するアップロード結果を出力します。
<?php $sourceImage = "uploads/" . $fileName; // 上传的原始图像路径 $targetImage = "uploads/resized_" . $fileName; // 调整大小后的图像保存路径 $targetWidth = 800; // 调整后的图像宽度 list($sourceWidth, $sourceHeight, $sourceType) = getimagesize($sourceImage); // 根据原始图像类型创建图像资源 switch ($sourceType) { case IMAGETYPE_JPEG: $source = imagecreatefromjpeg($sourceImage); break; case IMAGETYPE_PNG: $source = imagecreatefrompng($sourceImage); break; case IMAGETYPE_GIF: $source = imagecreatefromgif($sourceImage); break; } // 计算调整后的图像高度 $targetHeight = $sourceHeight * $targetWidth / $sourceWidth; // 创建调整后的图像资源 $target = imagecreatetruecolor($targetWidth, $targetHeight); // 调整图像大小 imagecopyresampled($target, $source, 0, 0, 0, 0, $targetWidth, $targetHeight, $sourceWidth, $sourceHeight); // 保存调整后的图像 switch ($sourceType) { case IMAGETYPE_JPEG: imagejpeg($target, $targetImage); break; case IMAGETYPE_PNG: imagepng($target, $targetImage); break; case IMAGETYPE_GIF: imagegif($target, $targetImage); break; } // 释放图像资源 imagedestroy($source); imagedestroy($target); echo "图像调整大小成功"; ?>
上記のコードでは、調整された画像保存パス $targetImage
とターゲット画像の幅## が最初に定義されます。 #$ターゲット幅。
getimagesize() 関数を使用して、アップロードされた元の画像の幅、高さ、タイプを取得します。画像リソース オブジェクト
$source を作成します。元の画像。
次に、調整された画像の幅に基づいて対応する高さを計算し、
imagecreatetruecolor() 関数を使用して、調整された画像のリソース オブジェクト
$target を作成します。
imagecopyresampled() 関数を使用して、元の画像をコピーし、サイズ変更した画像にサイズ変更します。
最後に、
imagejpeg()
imagepng()、または
imagegif()
概要
この記事では、PHP を使用して画像のアップロード機能と処理機能を実装する方法を紹介します。画像のアップロードおよび処理機能は、画像アップロード フォームの作成、画像アップロードの処理、および画像処理のための PHP コード サンプルを使用して簡単に実装できます。開発者は、実際のニーズに応じてコードを拡張およびカスタマイズし、さまざまな画像処理のニーズを満たすことができます。
以上がPHP を使用して画像のアップロードと処理機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。