Jump to content
  • 0

Как сохранить URL картинки в MYSQL?


quero
 Share

Question

2 answers to this question

Recommended Posts

  • 0

В базе лучше хранить только названия картинок и, допустим, конкретную папку, в которой они лежат. А URL задавать при выводе картинок, в PHP-скрипте. Это, во-первых, сэкономит ресурсы БД, а во-вторых, любое последующее редактирование станет проще.

Что до сути, то попробуй вот так:

/* HTML-форма */

/* В атрибуте action - имя твоего скрипта. */

/* Фича для загрузки рисунка. */

/* Кнопка подтверждения. */

<?php

/* Подключение к БД. Нужно имя сервера (если на одном сервере со скриптом - localhost), логин и пароль: */

$db = mysql_connect('localhost','login','password');

/* Указание, с какой именно БД будем работать: */

mysql_select_db('databasename',$db);

/* Если нажата кнопка... */

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

/* Если файл выбран... */

if(!empty($_FILES['pic']['name'])) {

/* Если он загружен... */

if(is_uploaded_file($_FILES['pic']['tmp_name'])) {

/* Называем папку для сохранения на сервере... */

$path = 'folder/';

/* Иногда, а также в том случае, если ты вс? же намереваешься сохранять URLы в БД, нужно писать так: $path = GetCWD().'/folder/'; */

/* Если файл туда скопирован... */

if(copy($_FILES['pic']['tmp_name'],$path.$_FILES['pic']['name'])) {

/* Пишем в БД */

$sql = "INSERT INTO `tablica` ( `pole_id` , `pole_pic` ) VALUES ('','".$_FILES['pic']['name']."');";

/* Если ты выбрал вариант с сохранением URLов, пиши так:

$sql = "INSERT INTO `tablica` ( `pole_id` , `pole_pic` ) VALUES ('','".$path.$_FILES['pic']['name']."');";

*/

mysql_query($sql,$db);

/* Теперь выбираем из БД в массив: */

$sql = "SELECT `pole_pic` FROM `tablica`;";

$res = mysql_query($sql,$db);

$row = mysql_fetch_array($res);

/* И выводим: */

echo ''.$row['pole_pic'].'"';

/* Убиваем массив и запрос: */

unset($row);

mysql_free_result($res);

};

};

};

};

/* Закрываем БД. */

mysql_close($db);

?>

Link to comment
Share on other sites

  • 0

Естественно, если у тебя в таблице не одна пикчура, запрос к БД должен быть поконкретнее :D

Можно так:

SELECT `pole_pic` FROM `tablica` WHERE `pole_id` = '1';

Дамп таблицы - примерно вот такой:

CREATE TABLE `tablica` (

`pole_id` INT NOT NULL AUTO_INCREMENT ,

`pole_pic` VARCHAR( 255 ) NOT NULL ,

PRIMARY KEY ( `id` )

);

Т.е. должно быть поле-первичный ключ с AUTO_INCREMENT и поле для имени картинки.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy