ホームページ > バックエンド開発 > PHPチュートリアル > PHP で画像をアップロードする際に、ファイル名とフォーム データを一緒に保存するにはどうすればよいですか?

PHP で画像をアップロードする際に、ファイル名とフォーム データを一緒に保存するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-26 04:25:02
オリジナル
732 人が閲覧しました

How to Store File Names and Form Data Together During Image Uploads with PHP?

PHP を使用して画像をサーバーにアップロードする際にファイル名と追加のフォーム データをデータベースに保存する

この記事では、ファイル名を保存するという課題について説明します

フォーム

使用される HTML フォームには、バンド メンバーの詳細 (名前、役職) を入力するためのフィールドが含まれています。 、写真など) とバンド メンバーの写真のファイル アップロード入力。

PHP 処理

PHP スクリプトは次の手順を実行します:

  • フォームデータの抽出: フォームに入力された情報が抽出され、変数に格納されます。
  • データベース接続: データベースへの接続が確立されます。
  • データベース挿入: SQL クエリが実行され、ファイル名を含むフォーム データがデータベース テーブルに挿入されます。
  • ファイル アップロード: アップロードされたファイルは、move_uploaded_file() 関数を使用してサーバー上の指定されたディレクトリに移動されます。
  • 確認: アップロードとデータベースの挿入が成功すると、確認メッセージが表示されます。

サンプル コード

次の PHP スクリプトには、上で説明した概念が組み込まれています。

<code class="php"><?php

// Directory for image storage
$target = "images/";
$target_file = $target . basename($_FILES['photo']['name']);

// Retrieve form data
$nameMember = $_POST['nameMember'];
$bandMember = $_POST['bandMember'];
$aboutMember = $_POST['aboutMember'];
$otherBands = $_POST['otherBands'];

// Database connection
$mysqli = new mysqli("localhost", "username", "password", "databaseName");

// Database insertion query
$query = "INSERT INTO tableName (nameMember, bandMember, photo, aboutMember, otherBands)
VALUES ('$nameMember', '$bandMember', '$target_file', '$aboutMember', '$otherBands')";
$result = $mysqli->query($query);

// Image upload
if (move_uploaded_file($_FILES['photo']['tmp_name'], $target_file)) {
    echo "File uploaded successfully and data saved in database.";
} else {
    echo "Error uploading file.";
}

?></code>
ログイン後にコピー

注: データベース接続詳細とテーブル名は、特定の環境に合わせて変更する必要があります。

以上がPHP で画像をアップロードする際に、ファイル名とフォーム データを一緒に保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート