Heim  >  Artikel  >  Backend-Entwicklung  >  Wie speichere ich Dateinamen und Formulardaten in einer Datenbank, während ich Bilder mit PHP hochlade?

Wie speichere ich Dateinamen und Formulardaten in einer Datenbank, während ich Bilder mit PHP hochlade?

DDD
DDDOriginal
2024-10-26 06:13:31373Durchsuche

How to Store File Names and Form Data in a Database While Uploading Images with PHP?

Speichern des Dateinamens in der Datenbank beim Hochladen von Bildern

Frage:

Wie kann man speichern den Dateinamen und andere Formulardaten in einer Datenbank beim Hochladen eines Bildes auf einen Server mit PHP?

Lösung:

1. Formularstruktur:

Verwenden Sie den folgenden HTML-Code, um ein Formular zu erstellen, das die erforderlichen Informationen erfasst:

<code class="html"><form method="post" action="addMember.php" enctype="multipart/form-data">
  <p>Band Member Name:</p>
  <input type="text" name="nameMember">
  <p>Member's Position:</p>
  <input type="text" name="bandMember">
  <p>Photo:</p>
  <input type="hidden" name="size" value="350000">
  <input type="file" name="photo">
  <p>Other Information:</p>
  <textarea rows="10" cols="35" name="aboutMember"></textarea>
  <p>Other Bands:</p>
  <input type="text" name="otherBands" size=30>
  <input type="submit" name="upload" value="Add Member">
</form></code>

2. Serverseitiger Code:

Verarbeiten Sie die Formulardaten mit dem folgenden PHP-Skript:

<code class="php">// Database connection and selection
$conn = mysqli_connect("host", "username", "password", "database");
if (!$conn) {
  die("Database connection failed: " . mysqli_connect_error());
}

// Form data extraction
$name = $_POST['nameMember'];
$bandMember = $_POST['bandMember'];
$photo = $_FILES['photo']['name'];
$about = $_POST['aboutMember'];
$bands = $_POST['otherBands'];

// Photo upload target directory
$target = "directory/";
$target .= basename($photo);

// Insert data into the database
$sql = "INSERT INTO tableName (nameMember, bandMember, photo, aboutMember, otherBands) VALUES ('$name', '$bandMember', '$photo', '$about', '$bands')";
$result = mysqli_query($conn, $sql);

// Check for successful insertion
if ($result) {
  // If successful, move the uploaded photo to the server
  if (move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {
    echo "File uploaded and data saved successfully.";
  } else {
    echo "Error uploading file.";
  }
} else {
  echo "Error saving data.";
}
mysqli_close($conn);</code>

Das obige ist der detaillierte Inhalt vonWie speichere ich Dateinamen und Formulardaten in einer Datenbank, während ich Bilder mit PHP hochlade?. 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