2017-01-26 2 views
-4

Я сделал блог для своего сайта с PHP и базой данных mysql, где я могу добавлять сообщения в блоге с сайта администратора (www.website.com/admin) и отображать их на своем веб-сайте (www.website.com). Он работает нормально, , но я хочу добавить фотографии тоже.Как добавить изображения в свой блог PHP?

Это мой код для добавления:

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(); 

И мой код для отображения посты блога

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

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

Я знаю, как сделать upload.php, но проще загрузить в MySQL? Я не знаю, как получить изображение, показанное в правом блоге после загрузки.

С наилучшими пожеланиями, Tobias Dybdahl

+1

Обычно блоги позволят описанию включать HTML, разметку или что-то подобное, что позволит вам помещать изображения в текст. Редактор WYSIWYG (например, CKEditor или TinyMCE) упростит это. Что касается загрузки изображений, посмотрите на файловый менеджер. Есть много бесплатных для использования, если вы Google для них. – Styphon

+0

с использованием редактора WYSIWYG не очень хорошо, если он хочет снова использовать изображение другой статьи. –

+0

Вы получаете много downvotes, потому что этот вопрос имеет слишком много решений. Вы в основном просите нас сделать вашу работу за вас. Попробуйте просто добавить другой столбец в базу данных под названием ImageURL, которая указывает на изображение в Интернете, а затем ссылаться на этот URL-адрес в теге '' в другом теге 'td' на вашем выходе, а затем работать оттуда. После того, как у вас есть представление о том, как вы собираетесь в _display_ изображениях, а затем подумайте о том, как их загрузить. Наконец, в сети уже есть тонна ресурсов для хранения/получения изображений в MySql и отображения их на PHP, я бы Google это. – akousmata

ответ

0

Вы можете загрузить файл на сервер, а затем хранить имя файла в базе данных, например, столбец с именем «blogimg».

Затем в коде для отображения сообщений в блоге вы можете добавить эту строку, чтобы показать изображение:

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

Как сохранить имя URL-адреса в базе данных при загрузке? –

+0

Если вы сделаете это при отправке формы, вы можете добавить ее в инструкцию insert. Если вы сделаете это в другом месте, вы можете использовать заявление об обновлении –

+0

Подождите, хорошо, я думаю, что получил! Спасибо –

0

вам необходимо загрузить изображения в директорию и сохранить имя изображения в базе данных после этого права URL-адрес изображения в IMG тега и получает название изображения из базы данных

ваш HTML формы

<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> 

ваш PHP код

<?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

Проверьте это [out] (http://www.w3schools.com/php/php_file_upload.asp) –

Смежные вопросы