Mit PHP-hochladen von Bildern zu einem Ordner beim speichern Beschreibungen in eine Datenbank

Entscheidet der Nutzer, um mehrere Bilder hochladen für deren klassifiziert Liste. Was muss ich haben, geschehen ist:

  1. Die Bilder hochladen, mit Beschreibungen für die einzelnen Bilder - GELÖST
  2. Speichern Sie die Bilder in einen Ordner angegeben
  3. Speichern Sie das Bild auf meine MySQL-Datenbank mit Beschreibungen - GELÖST
  4. Der Lage sein, die Bilder und Beschreibungen in Ihrem klassifiziert Liste in Art einer Galerie-Einstellung

Mein schema für die Tabelle ist wie folgt eingerichtet (vereinfacht):

ad_id | member_id | category | subcategory | ... | photo_0_href | photo_0_desc ... | etc.

Könnte jemand gehen mir durch den Prozess? Danke.

step3.php

<form action="upload.php" method="post" enctype="multipart/form-data">
<p>
<label for="file0">Filename: </label>
<input name="file[]" type="file" id="file0" size="20" />
</p>
<p>
<label for="file0desc">Description: </label>
<textarea rows="10" cols="30" id="file0desc" class="textarea"></textarea>
</p>
<p>
<label for="file1">Filename: </label>
<input name="file[]" type="file" id="file1" size="20" />
</p>
<p>
<label for="file1desc">Description: </label>
<textarea rows="10" cols="30" id="file1desc" class="textarea"></textarea>
</p>
<p>
<input id="submit" type="submit" name="submit" value="Continue to Step 4" />
</p>
</form>

upload.php

<?php

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 1048600)) //less than 1MB
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    header("Location: step4.php");
/*
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] /1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

*/
    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

Ich weiß, dass mein upload.php ist nicht konfiguriert für mehrere Bild-Dateien noch nicht, aber es ist ein Anfang.

Habe ich das speichern der Beschreibungen in der Datenbank mit $_SESSION['file_n_desc']. Ich muss nur herausfinden, wie hoch das verflixte Bilder zu dem Ordner, und speichern Sie dann die Standorte in der Datenbank.

Brauche ich auch, um das Bild umbenannt, um eine zufällige Zeichenfolge (um zu verhindern, dass Bilder überschrieben werden). Ich weiß, ich kann dies mit den rand() Funktion.

  • Wie sind Sie mit Schwierigkeiten? Das hochladen/Speichern, mysql, etwas anderes?
  • Sie haben ziemlich viel den Prozess in Ihrem 4 Schritten hochladen - speichern, fügen Sie Bild-info zu mysql, wählen Sie die Bilder, wo die Auflistung ist, bla bla bla. Welchen code hast du schon?
  • Matthews: ich kann die Bilder hochladen, den Ordner, aber ich habe einige Kopfschmerzen bei der Rettung der Fotos und Beschreibungen zusammen.
  • Hatting - bitte teilen Sie den code, den Sie bereits haben, damit wir wissen, wo wir anfangen zu helfen, sonst ist mein Vermutung ist, Sie laufen zu viele Prozesse und möglicherweise in der falschen Reihenfolge, das ist stoppen des image-name/ - id verknüpft wird, um die Daten in der Datenbank, aber es ist nur eine Vermutung, weil ich nicht den code sehen
  • Bearbeitet meine ursprüngliche Frage mit dem code aus dem front-end und der Prozessor-Dateien.
  • Eine andere Sache: brauche ich, um das Bild umbenannt, um eine zufällige Zeichenfolge (um zu verhindern, dass Bilder überschrieben werden). Ich weiß, ich kann das mit der rand () - Funktion, aber ich vergaß zu erwähnen, dass es in meinem ursprünglichen Beitrag.
  • wo ist die Schleife, in der Sie behandeln jedes hochgeladene Datei ?

InformationsquelleAutor Mark Hatting | 2011-07-14
Schreibe einen Kommentar