ホームページ バックエンド開発 PHPチュートリアル PHP がリモート画像をローカルに保存した後にサムネイルを生成するにはどうすればよいですか?

PHP がリモート画像をローカルに保存した後にサムネイルを生成するにはどうすればよいですか?

Jul 13, 2023 pm 04:28 PM
保存 リモート画像 サムネイルの生成

PHP がリモート画像をローカルに保存した後にサムネイルを生成するにはどうすればよいですか?

Web サイトやアプリケーションを開発する場合、リモート画像をローカル サーバーに保存する必要があり、また、ページの読み込み速度を向上させて帯域幅を節約するためにサムネイルを生成する必要がある状況に遭遇することがよくあります。この記事では、PHP を使用してリモート画像をローカルに保存し、GD ライブラリを使用してサムネイルを生成する方法を紹介します。

  1. リモート イメージをローカル サーバーにダウンロードする

PHP では、file_get_contents() 関数を使用してリモート イメージのコンテンツを読み取り、file_put_contents を使用できます。 () コンテンツをローカルサーバーに保存する関数。

<?php
// 远程图片URL
$remoteImageUrl = "http://example.com/image.jpg";
// 保存到本地的路径
$localImagePath = "/path/to/local/image.jpg";

// 读取远程图片内容
$imageContent = file_get_contents($remoteImageUrl);
// 保存到本地
file_put_contents($localImagePath, $imageContent);
?>
ログイン後にコピー

上記のコードでは、$remoteImageUrl はリモート イメージの URL、$localImagePath はローカルに保存されたパスです。 file_get_contents() 関数を使用してリモート イメージのコンテンツを読み取り、file_put_contents() 関数を使用してコンテンツをローカル サーバーに保存します。

  1. サムネイルの生成

PHP でサムネイルを生成する最も一般的な方法は、GD ライブラリを使用することです。 GD ライブラリは、ほとんどの PHP インストールで使用できるイメージを作成および処理するための PHP 拡張ライブラリです。

まず、imagecreatefromXXX() 関数を使用して画像リソースを作成し、次に imagecopyresampled() 関数を使用して元の画像を指定されたサイズに拡大縮小し、imageXXX() 関数を使用して画像リソースを保存する必要があります。拡大縮小された画像を指定されたファイルに保存します。

<?php
// 原始图片路径
$originalImagePath = "/path/to/local/image.jpg";
// 缩略图路径
$thumbnailImagePath = "/path/to/local/thumbnail.jpg";
// 缩略图尺寸
$thumbnailSize = 200;

// 创建原始图片资源
$originalImage = imagecreatefromjpeg($originalImagePath);

// 获取原始图片尺寸
$originalWidth = imagesx($originalImage);
$originalHeight = imagesy($originalImage);

// 计算缩放后的尺寸
if ($originalWidth > $originalHeight) {
    $thumbnailWidth = $thumbnailSize;
    $thumbnailHeight = intval($originalHeight / $originalWidth * $thumbnailSize);
} else {
    $thumbnailHeight = $thumbnailSize;
    $thumbnailWidth = intval($originalWidth / $originalHeight * $thumbnailSize);
}

// 创建缩略图资源
$thumbnailImage = imagecreatetruecolor($thumbnailWidth, $thumbnailHeight);

// 缩放原始图片到缩略图
imagecopyresampled($thumbnailImage, $originalImage, 0, 0, 0, 0, $thumbnailWidth, $thumbnailHeight, $originalWidth, $originalHeight);

// 保存缩略图
imagejpeg($thumbnailImage, $thumbnailImagePath);

// 释放资源
imagedestroy($originalImage);
imagedestroy($thumbnailImage);
?>
ログイン後にコピー

上記のコードでは、$originalImagePath は元の画像のパス、$thumbnailImagePath はサムネイルのパス、$thumbnailSize はサムネイルのサイズです。まず、imagecreatefromjpeg()関数を使用してオリジナルの画像リソースを作成します。次に、imagesx() 関数と imagesy() 関数を使用して元の画像のサイズを取得し、サムネイルのサイズに基づいて拡大縮小されたサイズを計算します。次に、imagecreatetruecolor() 関数を使用してサムネイル リソースを作成し、次に imagecopyresampled() 関数を使用して元の画像をサムネイルの寸法に拡大縮小します。最後に、imagejpeg() 関数を使用して指定したファイル パスにサムネイルを保存し、imagedestroy() 関数を使用してリソースを解放します。

上記の手順により、リモート画像をローカルにダウンロードし、ユーザーに提供するサムネイルを生成できます。実際の開発では、必要に応じてコードを調整し、エラー処理やセキュリティ検証を追加できます。この記事がお役に立てば幸いです!

以上がPHP がリモート画像をローカルに保存した後にサムネイルを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

小紅書で透かしなしで写真を保存する方法 小紅書で透かしなしで写真を保存する方法 小紅書で透かしなしで写真を保存する方法 小紅書で透かしなしで写真を保存する方法 Mar 22, 2024 pm 03:40 PM

小紅書には誰でも自由に閲覧できる豊富なコンテンツがあり、毎日の退屈を解消し、自分自身を助けるためにこのソフトウェアを使用することができます。このソフトウェアを使用する過程で、時々さまざまな美しいものを見ることができます。写真を保存したいと思う人はたくさんいますが、しかし、保存された写真には透かしがあり、これは非常に影響力があります。誰もがここで透かしなしで写真を保存する方法を知りたがっています。エディターは必要な人のために方法を提供します。誰でも理解してすぐに使用できます。 1. 画像の右上隅にある「...」をクリックしてリンクをコピーします。 2. WeChat アプレットを開きます。 3. WeChat アプレットでサツマイモ ライブラリを検索します。 4. サツマイモ ライブラリに入り、取得することを確認します。リンク 5. 写真を取得して携帯電話のアルバムに保存します

Douyin動画をダウンロードして保存する方法 Douyin動画をダウンロードして保存する方法 Mar 29, 2024 pm 02:16 PM

1.Douyinアプリを開き、ダウンロードして保存したい動画を見つけて、右下隅の[共有]ボタンをクリックします。 2. 表示されるポップアップウィンドウで、2 行目の機能ボタンを右にスライドし、[ローカルに保存] を見つけてクリックします。 3. この時点で新しいポップアップ ウィンドウが表示され、ユーザーはビデオのダウンロードの進行状況を確認し、ダウンロードが完了するまで待つことができます。 4. ダウンロードが完了すると、[保存しました。アルバムに移動して表示してください] というメッセージが表示され、ダウンロードしたビデオがユーザーの携帯電話のアルバムに正常に保存されます。

PHP を使用してリモート画像を保存するときに画像圧縮を処理するにはどうすればよいですか? PHP を使用してリモート画像を保存するときに画像圧縮を処理するにはどうすればよいですか? Jul 15, 2023 pm 03:57 PM

PHP を使用してリモート画像を保存するときに画像圧縮を処理するにはどうすればよいですか?実際の開発では、ネットワークから画像を取得してローカルサーバーに保存する必要があることがよくあります。ただし、一部のリモート画像は大きすぎる場合があるため、ストレージ容量を減らし、読み込み速度を上げるために画像を圧縮する必要があります。 PHP は、画像圧縮を処理するための強力な拡張機能をいくつか提供しています。その中で最もよく使用されるのは、GD ライブラリと Imagick ライブラリです。 GD ライブラリは、画像の作成、編集、保存のための多くの機能を提供する人気のある画像処理ライブラリです。ここに用途があります

動画アカウントの動画をフォトアルバムに保存するにはどうすればよいですか?メソッドの共有 動画アカウントの動画をフォトアルバムに保存するにはどうすればよいですか?メソッドの共有 Mar 26, 2024 am 11:21 AM

ビデオ アカウントは、ユーザーが自分のビデオを撮影、編集、共有できる人気のショートビデオ アプリケーションです。ただし、これらの素晴らしいビデオをフォト アルバムに保存して、必要なときにいつでも見返せるようにしたい場合があります。そこで、次にビデオアカウントのビデオをアルバムに保存する方法をいくつか紹介します。動画は、Video Number アプリケーションの組み込み機能を通じて保存できます。アプリを開いて、保存したい動画を見つけます。ビデオの右下隅にあるオプションアイコンをクリックすると、メニューが表示されるので、「アルバムに保存」を選択します。これにより、ビデオが携帯電話のフォトアルバムに保存されます。方法 2 は、スクリーンショットを撮ってビデオを保存することです。この方法は比較的簡単ですが、保存された画像にはビデオ コントロール バーなどの要素が含まれるため、十分に純粋ではありません。あなた

HP プリンターでスキャンしたファイルはどこに保存されますか? HP プリンターでスキャンしたファイルはどこに保存されますか? Feb 19, 2024 am 09:18 AM

HP プリンターを使用してファイルをスキャンした後、多くのユーザーはスキャンしたファイルがどこに保存されているかわかりません。場所を確認したい場合は、マイ コンピューターでスケジュールに従って検索できます。 HP プリンターでスキャンしたファイルはどこに保存されますか? 1. まず、[マイ コンピューター] を開きます。 2. 次に、検索する日付を入力します。 3. 次に、スキャンされたファイルを見つけることができます。 4. プリンタードライバーがインストールされるとプリンター複合機補助ソフトがあるので開きます。 5. 最後に、スキャン フォルダー アイコンをクリックしてファイルを見つけます。

Win+Shift+S スクリーンショットをどこに保存しますか? Win+Shift+S スクリーンショットをどこに保存しますか? Jan 03, 2024 pm 01:12 PM

多くのユーザーは、Win10 に付属のショートカット スクリーンショットを使用しません。このスクリーンショットを撮った後、ユーザーは対応するスクリーンショット コンテンツが保存されている場所を見つけることができません。実際、このスクリーンショットは将来保存されません。クリップボードにあります。 . コピーするだけで、スクリーンショットを任意のフォルダに自由に置くことができます。 Win10 のスクリーンショットは Win+Shift+S でどこに保存されますか? 回答: クリップボード内です。スクリーンショット ファイルは任意のフォルダーに保存できます。スクリーンショットを撮った後、ファイルをフォルダーに貼り付けるか、[画像として保存] を直接クリックして、スクリーンショットの内容を保存できます。 Win10 コンピューターのスクリーンショットのショートカット キー 1.「PrtScrSysRq」または「PrtSc」 2.「Win」

PHP でローカルに保存した後、リモート画像に透かしを追加して保存するにはどうすればよいですか? PHP でローカルに保存した後、リモート画像に透かしを追加して保存するにはどうすればよいですか? Jul 11, 2023 pm 11:48 PM

PHP でローカルに保存した後、リモート画像に透かしを追加して保存するにはどうすればよいですか? PHP 開発では、リモート画像をローカルに保存する必要が生じることがよくあります。場合によっては、著作権を保護したり追加情報を追加したりするために、保存した画像に透かしを追加する必要がある場合もあります。この記事では、PHP を使用してリモートの写真をローカルに保存し、保存された写真にウォーターマークを追加する方法を紹介します。 1. リモート画像をローカルに保存する まず、PHP のファイル操作機能を使用して、リモート画像をローカルに保存する必要があります。簡単なコード例を次に示します: &

bilibili動画をローカルに保存するにはどうすればいいですか?サイト b の PC 版でビデオをローカルにキャッシュする方法 bilibili動画をローカルに保存するにはどうすればいいですか?サイト b の PC 版でビデオをローカルにキャッシュする方法 Mar 13, 2024 pm 10:25 PM

bilibili は現在最も人気のある動画配信サイトであり、興味のある動画を見つけた場合、多くのユーザーはそれをキャッシュすることを選択します。では、サイト B はダウンロードしたビデオをローカルにどのようにキャッシュするのでしょうか?実際、この方法は難しくありません。以下では、編集者がサイト B のコンピュータ版でビデオをローカルにキャッシュする方法を共有します。ステーション B でダウンロードしたビデオをローカル エリアにキャッシュするにはどうすればよいですか? ブラウザのアドレス バーに「ibilibili」と入力し、Enter キーを押します。ダウンロード ページが表示されるので、ビデオの上にマウスを置き、[名前を付けて保存] を選択するとビデオをローカルにダウンロードできます。 2. bilibiliの後にjjを付けてbilibilijjにするのも同様で、ダウンロードページもあります。 3. 紹介文とコメントを見て、UP オーナーや他の人が

See all articles