2017-01-26 12 views
-4

Ich habe einen Blog für meine Website mit PHP und MySQL-Datenbank gemacht, wo ich Blog-Posts von einer Admin-Website (www.website.com/admin) hinzufügen und auf meiner Website (www.website.com) anzeigen kann. Es funktioniert gut, , aber ich möchte auch Bilder hinzufügen.Wie füge ich Bilder zu meinem PHP Blog hinzu?

Dies ist mein Code für das Hinzufügen von:

if (isset($_POST['submit'])) { 

    $blogtitle = htmlentities($_POST['blogtitle'], ENT_QUOTES); 
    $blogdate = htmlentities($_POST['blogdate'], ENT_QUOTES); 
    $blogdesc = htmlentities($_POST['blogdesc'], ENT_QUOTES); 

// check that firstname and lastname are both not empty 
if ($blogtitle == '' || $blogdesc == '') { 

    $error = 'Please fill in all required fields'; 
    renderForm($blogtitle, $blogdesc, $error); 

} else { 

// insert the new record into the database 
if ($stmt = $mysqli->prepare("INSERT blog_posts (blogtitle, blogdate, blogdesc) VALUES (?, ?, ?)")) { 
    $stmt->bind_param("sss", $blogtitle, $blogdate, $blogdesc); 
    $stmt->execute(); 
    $stmt->close(); 
} else { 
    echo "ERROR: Could not prepare SQL statement."; 
} 
    header("Location: website.php"); 
} 

} else { 
renderForm(); 
} 
} 

// close the mysqli connection 
$mysqli->close(); 

Und mein Code für die Anzeige der Blog-Beiträge

/.../ 
while ($row = $result->fetch_object()) { 

    echo "<div>"; 
    echo "<td>" . $row->blogtitle . "</td>"; 
    echo "<td>" . $row->blogdate . "</td>"; 
    echo "<td>" . $row->blogdesc . "</td>"; 
    echo "</div>"; 
} 

Ich weiß, wie eine upload.php zu machen, aber es ist einfacher laden zu mysql? Ich weiß nicht, wie das Bild nach dem Hochladen im richtigen Blogpost angezeigt wird.

Mit freundlichen Grüßen, Tobias Dybdahl

+1

In der Regel können Blogs die Beschreibung HTML, Markup oder etwas ähnliches enthalten, mit denen Sie Bilder in den Text einfügen können. Ein WYSIWYG-Editor (z. B. CKEditor oder TinyMCE) erleichtert dies. Schauen Sie sich zum Hochladen der Bilder einen Dateimanager an. Es gibt viele kostenlose zu verwenden, wenn Sie Google für sie. – Styphon

+0

mit WYSIWYG-Editor ist nicht gut, wenn er das Bild wieder verwenden möchte ein anderer Artikel –

+0

Sie erhalten viele downvotes, weil diese Frage viel zu viele Lösungen hat. Sie bitten uns grundsätzlich, Ihre Arbeit für Sie zu erledigen. Sie können einfach eine weitere Spalte zur Datenbank hinzufügen, die ImageURL genannt wird und auf ein Bild im Internet verweist. Dann referenzieren Sie diese URL in einem ''-Tag in einem anderen' td'-Tag in Ihrer Ausgabe und arbeiten von dort aus. Sobald Sie eine Vorstellung davon haben, wie Sie die Bilder anzeigen, sollten Sie sich darüber Gedanken machen, wie Sie diese hochladen können. Zu guter Letzt gibt es schon eine Menge Ressourcen online, wie man Bilder in MySql speichert/abruft und sie in PHP anzeigt, würde ich das Google. – akousmata

Antwort

0

Sie können die Datei auf den Server laden und speichern Sie dann den Dateinamen in Ihrer Datenbank, zum Beispiel eine Spalte „blogimg“ genannt.

Dann in Ihrem Code Blog-Beiträge für die Anzeige können Sie diese Zeile hinzufügen, um das Bild zu zeigen:

echo "<td><img src='" . $row->blogimg . "' /></td>"; 
+0

Wie speicher ich den URL-Namen beim Hochladen in der Datenbank? –

+0

Wenn Sie dies beim Absenden des Formulars tun, können Sie dies zu Ihrer Insert-Anweisung hinzufügen. Wenn Sie es an einem anderen Ort tun, können Sie eine Update-Anweisung verwenden –

+0

Warten Sie, in Ordnung, ich denke, ich habe es! Danke –

0

Sie Bilder in ein Verzeichnis laden müssen und Bilder Namen in einer Datenbank nach diesem Recht der URL speichern das Bildes im img-Tag und erhält die Bildnamen aus der Datenbank

Ihr hTML-Formular

<form action="upload.php" method="post" enctype="multipart/form-data"> 
    Select image to upload: 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload Image" name="submit"> 
</form> 

Ihres pHP-Code

<?php 
$target_dir = "uploads/"; 
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); 
$uploadOk = 1; 
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION); 
// Check if image file is a actual image or fake image 
if(isset($_POST["submit"])) { 
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]); 
    if($check !== false) { 
     echo "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else { 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
} 
?> 
+0

Überprüfen Sie diese [out] (http://www.w3schools.com/php/php_file_upload.asp) –

Verwandte Themen