Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich mit PHP ein Bild hochladen und seinen Dateinamen zusammen mit anderen Formulardaten in einer MySQL-Datenbank speichern?

Wie kann ich mit PHP ein Bild hochladen und seinen Dateinamen zusammen mit anderen Formulardaten in einer MySQL-Datenbank speichern?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-26 11:21:29166Durchsuche

How can I upload an image and store its file name in a MySQL database along with other form data using PHP?

So speichern Sie einen Dateinamen in einer Datenbank mit anderen Informationen, während Sie ein Bild mit PHP hochladen

Problem:

Sie stehen vor Herausforderungen beim Hochladen einer Datei auf einen Server und beim Speichern ihres Dateinamens in einer MySQL-Datenbank. Darüber hinaus müssen Sie ein Formular erstellen, das es Ihnen ermöglicht, zusätzliche Daten an die Datenbank zu übermitteln. Diese Aufgabe erscheint überwältigend und Sie suchen nach einer umfassenden Lösung zur Integration dieser Elemente.

Antwort:

Hier ist eine detaillierte Lösung, die sowohl die Struktur des Formulars als auch den PHP-Code umfasst erforderlich, um den Datei-Upload und die Dateneingabe zu verarbeiten:

Formularstruktur:

<code class="html"><form method="post" action="addMember.php" enctype="multipart/form-data">
  <!-- Fields for entering band member info -->
  <!-- File input field for uploading photo -->
  <input type="hidden" name="size" value="350000">
  <input type="file" name="photo">
  <!-- Other form fields for additional information -->
  <!-- Submit button -->
</form></code>

PHP-Code:

<code class="php"><?php
// Database connection
$db = mysqli_connect("yourhost", "username", "password", "dbName");

// Handle file upload
$target = "your directory" . basename($_FILES['photo']['name']);
$pic = basename($_FILES['photo']['name']);
if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {
  // File uploaded successfully

  // Extract form data
  $name = $_POST['nameMember'];
  $bandMember = $_POST['bandMember'];
  $about = $_POST['aboutMember'];
  $bands = $_POST['otherBands'];

  // Prepare SQL query
  $sql = "INSERT INTO tableName (nameMember, bandMember, photo, aboutMember, otherBands)
          VALUES ('$name', '$bandMember', '$pic', '$about', '$bands')";

  // Execute query to insert data and image name into database
  mysqli_query($db, $sql);
  echo "File uploaded and information added to database.";
} else {
  // File upload failed
  echo "Error uploading file.";
}
?></code>

Erklärung:

  • Der PHP-Code stellt eine Verbindung zur Datenbank her.
  • Er übernimmt den Datei-Upload, indem er das Zielverzeichnis angibt und die Datei an diesen Speicherort verschiebt .
  • Der Code erfasst alle notwendigen Informationen aus den Formularfeldern.
  • Er bereitet eine SQL-Abfrage vor, um die Daten einschließlich des Dateinamens in die Datenbank einzufügen.
  • Die Abfrage wird ausgeführt und der Dateiname und alle anderen Informationen zur Datenbank hinzugefügt.
  • Sie können die Formularfelder und die Datenbanktabelle entsprechend Ihren spezifischen Anforderungen anpassen.

Diese umfassende Lösung bietet a Schritt-für-Schritt-Anleitung zum Hochladen einer Datei, zum Speichern ihres Dateinamens in der Datenbank und zum Einfügen zusätzlicher Informationen aus dem Formular.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PHP ein Bild hochladen und seinen Dateinamen zusammen mit anderen Formulardaten in einer MySQL-Datenbank speichern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn