Jump to content
  • 0

Вопрос про галерею , хранение и вывод картинок из базы данных


bgraf
 Share

Question

Добрый день !

Задача заключается в том что я хочу выводить несколько картинок на строничку , так называемый построчный вывод не более , скажем , 6 фоток на страничке, при этом при нажатии на картинку она увеличивается.

Вопрос в том как мне хранить картинки, и мини и макси в базе данных, это приведет к тому что на сервере надо хранить две копии маленькую и большую , но скорость вывода будет быстрее нежели хранить только большую и при выводе уменьшать их размер но тогда на сервере есть только одна картинка. Что вы посоветуете? И еще пожалуйста , дайте примеры данной задачи.

Огромное Вам спасибо!!!

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

Не понимаю в чём вопрос. Если в том как именно хранить изображение и превью - то двумя файлами. Если не хватает места, то можно просто докупить жестких дисков - благо сейчас стоимость одного террабайта крайне невысока.

Link to comment
Share on other sites

  • 0

хранить одну картинку и обрабатывать ее в превью и полномасштабную - это изврат.

проще хранить две... и да, лучше не картинки хранить, а пути к ним.

Edited by rus
Link to comment
Share on other sites

  • 0
Не понимаю в чём вопрос. Если в том как именно хранить изображение и превью - то двумя файлами. Если не хватает места, то можно просто докупить жестких дисков - благо сейчас стоимость одного террабайта крайне невысока.

На мой взгляд я полностью обьяснид

1 способ хранения на сервере превью и изображения

2 способ хранение на сервере изображения и при выводе на страницу уменьшать размер

В первом случае теряется место, во втором скорость загрузки

Вопрос что посаветуете опытные сайтостроители?

При чем тут жесткий диск когда речь идет о хостинге с размером выделенным под сайт и оплаченным 100мб

И еще я прошу пример ,в котором есть постраничный вывод ,определенного колличества картинок на страницу из базы данных ,где хранятся линки на сами картинки, с возможностью постраничного вывода Х картинок и навигацией динамической в зависимости от колличество картинок.

хранить одну картинку и обрабатывать ее в превью и полномасштабную - это изврат.

проще хранить две... и да, лучше не картинки хранить, а пути к ним.

спасибо а можно пример подобной задачи с постраничном выводом

к примеру вот так

начало ... 6 7 8 9 10 ... конец

где начало дает 1 2 3 4 5 ... конец

... дает к примеру начало ... 11 12 13 14 15 ... конец

конец дает ...16 17

ну вот как то так

Link to comment
Share on other sites

  • 0
спасибо а можно пример подобной задачи с постраничном выводом

к примеру вот так

начало ... 6 7 8 9 10 ... конец

где начало дает 1 2 3 4 5 ... конец

... дает к примеру начало ... 11 12 13 14 15 ... конец

конец дает ...16 17

ну вот как то так

а в чем проблема? «постраничный вывод php» в Google. религия запретила?

Edited by rus
Link to comment
Share on other sites

  • 0

:-) да нет просто не могу найти что то похожее, просто постраничный вывод делал и не раз к примеру новости а вот навигацию описанную мной не могу найти начал придумывать формулу с возможными способами запутался в конец , и сформулировать не могу в гугле что то подобное вот и обратился к Вам за помощью

Link to comment
Share on other sites

  • 0
:-) да нет просто не могу найти что то похожее, просто постраничный вывод делал и не раз к примеру новости а вот навигацию описанную мной не могу найти начал придумывать формулу с возможными способами запутался в конец , и сформулировать не могу в гугле что то подобное вот и обратился к Вам за помощью

ну вот один из способов:

<?php 
function yandex_link_bar($page, $count, $pages_count, $show_link)
{
if ($pages_count == 1) return false;
$sperator = '|';
$style = 'style="color:#014D8B; font: bold 14px Verdana; margin:15px; padding:15px;"';
$begin = $page - intval($show_link / 2);
unset($show_dots);
if ($pages_count <= $show_link + 1) $show_dots = 'no';
if (($begin > 2) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page=1> |< </a>';
}
for ($j = 0; $j <= $show_link; $j++)
{
$i = $begin + $j;
if ($i < 1) continue;
if (!isset($show_dots) && $begin > 1) {
echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i-1).'><b>...</b></a>';
$show_dots = "no";
}
if ($i > $pages_count) break;
if ($i == $page) {
echo '<a '.$style.' ><b>'.$i.'</b></a>';
} else {
echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.$i.'>'.$i.'</a>';
}
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
if (($j == $show_link) && ($i < $pages_count)) {
echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.($i+1).'><b>...</b></a>';
}
}
if ($begin + $show_link + 1 < $pages_count) {
echo '<a '.$style.' href='.$_SERVER['PHP_SELF'].'?page='.$pages_count.'> >| </a>';
}
return true;
}
include("config.php"); // подключение конфигурационного файла, коннект к бд.
$perpage = 5;
if (empty($_GET['page']) || ($_GET['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_GET['page'];
}
$count = mysql_numrows(mysql_query('select * from articles')) or die('error! Записей не найдено!');
$pages_count = ceil($count / $perpage);
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage;

if (empty($id))
{
$result = mysql_query('select id,title,small_text FROM articles limit '.$start_pos.', '.$perpage) or die('error!');
$myrow = mysql_fetch_array($result);
while ($myrow = mysql_fetch_array($result))
{
echo '<table class="tableborder">
<tr>
<td class="td_title"><a href="articles.html?id='.$myrow['id'].'">'.$myrow['title'].'</a></td>
</tr>
<tr>
<td class="td_smalltext">'.$myrow['small_text'].'</td>
</tr>
</table>';
}
yandex_link_bar($page, $count, $pages_count, 5);
}
?>

разберешься?

Edited by rus
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