ホームページ >バックエンド開発 >PHPの問題 >PHPで画像サーバーを構築する方法

PHPで画像サーバーを構築する方法

PHPz
PHPzオリジナル
2023-04-19 09:16:58899ブラウズ

最近、自分の個人的な Web サイトを構築していたときに、Web サイト上で画像を保存および表示する方法という問題に遭遇しました。一般的にはWebサイトのサーバーに画像を直接アップロードすることもできますが、Webサイトの拡張性やパフォーマンスを考慮すると、専用の画像サーバーに画像を保存し、php操作で表示画像を呼び出すことができればと考えています。

以下では、画像サーバーを構築し、phpで呼び出して画像を表示する方法を詳しく紹介します。

まず、画像サーバー ソフトウェアを選択する必要があります。ここでは、無料のオープンソース ソフトウェア Piwigo を選択しました。 PHP と MySQL をベースにした画像管理システムで、アップロード、分類、タグ付け、検索、共有などの機能をサポートします。同時に、グローバルサポート、拡張性、パーソナライズされたデザインという特徴も備えています。

次に、次の手順に従ってイメージ サーバーを構築します:

1. サーバー環境を準備します
始める前に、Linux ベースのサーバー環境と Apache をインストールする必要があります。 PHPとMySQL。 Ubuntu、CentOS などの使い慣れたディストリビューションを使用できます。

2. Piwigo のダウンロード
Piwigo の最新バージョンを Piwigo 公式 Web サイト (https://piwigo.org/download/) からダウンロードし、指定したディレクトリに解凍できます。たとえば、/var/www/html/piwigo ディレクトリに抽出します。

3. データベースの作成
MySQL に piwigo という名前のデータベースを作成します。 MySQL コマンド ライン ツールまたは phpMyAdmin (インストールされている場合) を使用してデータベースを作成できます。

4. Piwigo の設定
MySQL データベースに接続できるように、Piwigo の設定ファイルを設定する必要があります。 /var/www/html/piwigo/local/config/config.inc.php ファイルを編集し、次の情報を入力する必要があります:

$conf['dbCharset'] = 'utf8mb4';
$conf['dbHost'] = 'localhost'; // 数据库所在的地址
$conf['dbName'] = 'piwigo'; // 数据库名
$conf['dbUser'] = 'root'; // 数据库用户名
$conf['dbPassword'] = 'password'; // 数据库密码
$conf['prefixeTable'] = 'piwigo_'; // 数据表的前缀

5. Piwigo をインストールする
Web サイトを開いてアクセスします。 / piwigo/install.php、インターフェースの指示に従ってインストールします。データベースを初期化するときは、データベースのユーザー名とパスワードを入力する必要があります。

6. 画像ストレージ パスの設定
デフォルトでは、Piwigo はアップロードされたすべての画像を /var/www/html/piwigo/galleries に保存します。ストレージ パスをカスタマイズしたい場合は、変更できます。設定ファイル /var/www/html/piwigo/local/config/config.inc.php の次のパラメータ:

$conf['dir_photos'] = PWG_LOCAL_DIR . 'photos/'; // 图片存储路径
$conf['dir_resized'] = PWG_LOCAL_DIR . 'upload/'; // 调整后的图片存储路径

7. 画像のアップロード
これで、Piwigo の Web バージョンを使用して、画像をアップロードする 。 Piwigo の管理インターフェースで、左側の「アップロード」ボタンをクリックし、アップロードする画像を選択します。

8. ピクチャーの呼び出し
最後に、php で表示ピクチャーを呼び出す方法を見てみましょう。 Piwigo は、画像とアルバムの情報をクエリできる一連の API を提供します。関連する関数は /var/www/html/piwigo/include/ws_functions.inc.php にあります。

たとえば、特定のアルバム内のすべての写真情報を取得するには、次のコードを使用できます:

// 引入 Piwigo 的 API
require_once('/var/www/html/piwigo/include/ws_functions.inc.php');

// 获取相册 ID,这里假设为 1
$cat_id = 1;

// 调用 API 获取相册中的所有图片信息
$photos = ws_getPhotos(array(
    'cat_id' => $cat_id,
    'nb_results' => 999, // 最多返回 999 张图片
));

// 遍历所有图片信息,输出相应的 HTML 代码
foreach ($photos as $photo) {
    echo '<a href="&#39;.get_pwg_image_url($photo[&#39;id&#39;]).&#39;">';
    echo '<img src="&#39;.get_thumbnail_url($photo[&#39;id&#39;]).&#39;">';
    echo '</a>';
}

上記のコードでは、最初に Piwigo の API を /var/www/ に導入しました。 html/piwigo/include/ws_functions.inc.php ファイルにアクセスし、アルバム ID を取得し、API を呼び出してアルバム内のすべての画像情報を取得し、最後にすべての画像情報を走査して、対応する HTML コードを出力します。

これで画像サーバーの構築と画像の表示操作が完了しました。もちろん、サーバー環境をさらに最適化し、キャッシュ メカニズムやその他の手段を追加して、Web サイトのパフォーマンスを向上させ、より良いユーザー エクスペリエンスを提供することもできます。

以上がPHPで画像サーバーを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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