ホームページ バックエンド開発 PHPチュートリアル PHPを使用した画像ファイルの処理とアップロード

PHPを使用した画像ファイルの処理とアップロード

Jun 19, 2023 pm 04:45 PM
php 画像 アップロード

インターネットの継続的な発展に伴い、Web サイトで画像ファイルを使用することがますます一般的になってきています。 Web サイトを開発する場合、多くの場合、ユーザーが画像ファイルをアップロードして処理できるようにする必要があります。このため、開発者は PHP を使用して画像ファイルを処理およびアップロードする方法に精通している必要があります。

1. 画像ファイルのアップロード

PHP では、$_FILES を使用してアップロードされたファイルを取得できます。アップロードされた画像ファイルを処理するには、次の手順が必要です。

  1. ファイルをアップロードするディレクトリ

まず、ファイルをアップロードするディレクトリを決定する必要があります。 $_FILES "file" を設定することで、アップロードされたファイルの一時パスを取得できます。

  1. アップロードするファイルの種類を設定する

次に、アップロードするファイルの種類を設定する必要があります。通常、jpg および png 形式の画像ファイルのアップロードのみが許可されます。これは、次のコードを使用して設定できます:

$allowed = array('jpg', 'png');
if( ! in_array(strto lower(pathinfo($_FILES["file"]["name"], PATHINFO_EXTENSION)), $allowed)){
echo "アップロードできるのは、jpg および png 形式の画像ファイルのみです";
exit( );
}

  1. アップロード ファイルの処理

アップロード ファイルの処理には、主に 2 つの状況があります。アップロードされたファイルを指定されたディレクトリに移動することです。圧縮して調整します。これら 2 つの状況を以下に紹介します。

最初の状況: アップロードされたファイルを指定されたディレクトリに移動します。以下はサンプル コードです:

$target_dir = "uploads/";
$target_file = $target_dir .basename($_FILES"file");
if (move_uploaded_file($_FILES[" file "]["tmp_name"], $target_file)) {
echo "ファイルのアップロードに成功しました";
} else {
echo "ファイルのアップロードに失敗しました";
}

2 つの状況: アップロードされたファイルの圧縮と調整は、PHP の GD ライブラリを使用して実現できます。以下はサンプルコードです:

$src_image = imagecreatefromjpeg($_FILES"file"); // 元の画像を設定します
$dst_image = imagescale($src_image, 300); // ターゲットを設定しますimage Size
imagepng($dst_image, 'new_image.png'); //出力対象画像

上記のコードは、アップロードされたjpg画像ファイルをpng形式に変換し、幅のある画像に調整します。 300ピクセルのドキュメント。

2. 画像ファイルの処理

ファイルが正常にアップロードされたら、画像ファイルの処理を開始できます。画像ファイルを処理するいくつかの方法を次に示します。

  1. 画像のトリミング

imagecrop() 関数を使用して画像をトリミングできます。以下はサンプル コードです:

$src_image = imagecreatefrompng ('image.png '); // 元の画像を設定します
$dst_image = imagecrop($src_image, ['x' => 100, 'y' => 100, 'width' => 200, 'height' =&gt ; 200]); // ターゲット画像を設定します
imagepng($dst_image, 'cropped_image.png'); // ターゲット画像を出力します

上記のコードは画像をトリミングします.png 画像ファイルを 200x200 画像に変換し、cropped_image.png ファイルとして出力します。

    #ウォーターマークの追加
ウォーターマークを追加するには、imagecopy() 関数と imagettftext() 関数を使用できます。以下はサンプル コードです:

$src_image = imagecreatefrompng ('image.png'); // 元の画像を設定します

$watermark = imagecreatefrompng('watermark.png'); // ウォーターマークを設定します
imagecopymerge($src_image, $watermark, 10, 10, 0 , 0, imagex($watermark), imagesy($watermark), 30); // 元の画像にウォーターマークを追加します
imagettftext($src_image, 30, 0, 200, 200, imagecolorallocate($) src_image, 255, 255 , 255), 'font.ttf', 'My Watermark'); // テキストの透かしを追加します
imagepng($src_image, 'watermarked_image.png'); // 透かし入りの画像を出力します

以降 このコードは、watermark.png 画像ファイルを image.png 画像の左上隅に追加し、「My Watermark」という透かしテキストを追加します。

    画像の色の変更
imagefilter() 関数を使用して画像の色を変更できます。以下はサンプル コードです:

$ src_image = imagecreatefrompng('image .png'); // 元の画像を設定します

imagefilter($src_image, IMG_FILTER_GRAYSCALE); // 画像をグレースケールに変換します
imagepng($src_image, 'grayscale_image.png'); // グレー度画像を出力します。

上記のコードは、image.png イメージをグレースケール イメージに変換し、grayscale_image.png ファイルとして出力します。

概要

上記の紹介を通じて、PHP で画像ファイルを処理およびアップロードするときに注意する必要があるいくつかの問題と解決策がわかります。 Web サイトで画像ファイルを使用する必要がある場合、これらの方法は機能を迅速に実装するのに役立ちます。もちろん、上記の紹介は基本的なものにすぎず、より複雑な画像処理操作では、開発者が実際の状況に応じて調整する必要があります。

以上がPHPを使用した画像ファイルの処理とアップロードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

CakePHP の日付と時刻

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

CakePHP ファイルのアップロード

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

CakePHP ルーティング

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

CakePHP プロジェクトの構成

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP について話し合う

CakePHP クイックガイド CakePHP クイックガイド Sep 10, 2024 pm 05:27 PM

CakePHP クイックガイド

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法

See all articles