Загрузка изображения и сохранение ссылки в базе данных - PullRequest
0 голосов
/ 26 декабря 2010

Я использую эту форму, чтобы добавить заголовок, ссылку на изображение и текст статьи в базу данных. Я использую type = "text" для ссылки на изображение, теперь становится скучно загружать изображение на внешний сервис загрузки изображений и копировать ссылку.

Я хочу загрузить изображение с этим для и сохранить ссылку на изображение в базе данных.

Форма:

<?php if (!$_POST["go"]){ ?>
<form method="post" action="">
    <input name="article_title" type="text">
    <input name="article_image_url" type="text"> <!-- i want here type="file" -->
    <textarea name="article_text"></textarea>
    <input type="submit" name="go" value="Submit">
</form>


<?php
} else {
   $date=date("Y.m.d");
   $title = $_POST["article_title"];
   $image_url = $_POST["article_image_url"];
   $text = $_POST["text"];


$sql="INSERT INTO articles (title,image_url,text,date) VALUES ('$title', '$image_url', '$text', '$date')";

if (mysql_query($sql)){

echo "done";}

else {echo "error<br>" . mysql_error();}}

?>

Пожалуйста, помогите мне с этим:)

пс: извините за мой английский: $

1 Ответ

1 голос
/ 26 декабря 2010

Первое, что вы должны сделать, и кажется, что вы не знаете, SQL экранирует , это добавить следующее, прежде чем вы получите доступ к первому $_POST var:

$_POST = array_map("mysql_real_escape_string", $_POST);

Тогда вы, похоже, хотите использовать файл для загрузки изображения. Если это так, измените поле URL на:

<input type=file name=image>

Этот загруженный файл будет отображаться в $_FILES. Используйте это так, желательно после прочтения других полей из $ _POST:

if ($img = $_FILES["image"]["tmp_name"]) {
     $image_url = md5_file($img) . ".jpeg";
     move_uploaded_file($img, "./upload/$image_url");
     $image_url = "http://www.example.org/where/$image_url";
}

С этим связано много проблем безопасности. Но это выходит за рамки этого, поэтому я подключил его к .jpeg. В руководстве и его комментариях много информации: http://de2.php.net/manual/en/features.file-upload.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...