загрузка изображений с отправкой контента с формой - PullRequest
1 голос
/ 13 января 2010

ба $ Лик:

spot kisa:

пятно узун:

Категория: ».. $ Kat [ISIM] ""; }?> tiklanma:

Тарих: "имя =" Тарих "/> içerik:

и значения post.php:

mysql_query("INSERT INTO yazilar (baslik, spot, spot_kisa, icerik, kategori, tiklanma, eklemetarihi)
VALUES
('$_POST[baslik]','$_POST[spot]','$_POST[spot_kisa]','$_POST[icerik]','$_POST[kategori]','$_POST[tiklanma]','$_POST[tarih]')");

Мне нужно добавить 2 ссылки на изображения в таблицу с формой загрузки и вставить БД с post.php две миниатюры разного размера.

спасибо !!

1 Ответ

0 голосов
/ 14 января 2010

Есть несколько действительных подходов, которые могут решить ваш вопрос. Я покажу самый простой из всех, что я могу придумать.

Ваша форма должна иметь следующие модификации:

  • Добавьте атрибут ENCTYPE к тегу формы:

    <form action="post.php" method="post" enctype="multipart/form-data">

  • Вставьте поля загрузки файлов (вы можете использовать управляющий массив, например image[], но я буду упрощать):

    Image 1: <input type="file" name="image1" />
    Image 2: <input type="file" name="image2" />

Имейте в виду, что отправка файлов через форму POST подразумевает, что размер загружаемого файла не может превышать 2048 КБ (2 мегабайта).

Подготовьте каталог для приема файлов, у него должны быть установлены надлежащие разрешения, чтобы пользователи могли писать на вашем сервере (если это сервер Linux, вы можете использовать chmod 777). В этом примере моя папка будет называться «user-images».

Затем в post.php вы добавляете это:

<code>
$upload_to = "./user-images/";
move_uploaded_file(
    $_FILES["image1"]["tmp_name"],
    $upload_to . "/" . $_FILES["image1"]["name"]
);
move_uploaded_file(
    $_FILES["image2"]["tmp_name"],
    $upload_to . "/" . $_FILES["image2"]["name"]
);
?>

Что касается изменения размеров изображений для создания миниатюр, вы можете использовать библиотеку GD для изменения размера и сохранения файлов или , вы можете делать живые миниатюры (также используя библиотеку GD, но вместо загрузки файла JPEG в IMG тег на дисплее HTML, вы бы загрузить файл PHP, как это:)

<img src="thumbnail.php?src=image1.jpg&w=90&h=50" />

Ссылки на файлы изображений легко генерируются:

$link = $upload_to . "/" . $_FILES["image1"]["name"]

Если вам нужен абсолютный URL, просто добавьте адрес своего домена до $upload_to.

Это всего лишь один из способов сделать это. Вы также можете добавить двоичное содержимое изображений в базу данных (поскольку мы говорим о миниатюрах, у нас не должно быть проблем, запросы MySQL ограничены длиной 1 МБ, по умолчанию). Это можно сделать с помощью полей BLOB в таблице базы данных и file_get_contents() (с PHP 5) или fopen() в двоичном режиме / fread() / fclose() (с PHP 4), чтобы прочитать файлы и выгрузить их в базу данных , Всегда рекомендуется кодировать файлы, чтобы SQL-запрос не был поврежден (обычно это можно сделать с помощью base64_encode() или base64_decode()).

Надеюсь, это поможет вам. Удачи в кодировании!

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