Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Загрузка картинок и хранение их путей в базе Mysql (https://forum.antichat.xyz/showthread.php?t=79833)

MafiaBoy3 06.08.2008 09:29

Загрузка картинок и хранение их путей в базе Mysql
 
Собствено сабж. Не знаю с чего начать, может у кого-нибудь есть пример.

Chaak 06.08.2008 09:53

Научись сначала делать "привет мир". Потом как загружать и переименовывать файлы. Потом майэскйуэл учи

MafiaBoy3 06.08.2008 10:08

НЕ вопрос ВСЁ ОПИСАННОЕ ВЫШЕ УМЕЮ!

А вот как пути картинок хранить да как их выводить (картинки) не знаю!

MafiaBoy3 06.08.2008 10:16

ок посмотрел

Почему не получается скопировать фотку в папку pictures? Она копируется в www.

$imgDir="pictures".$_FILES['picture']['name'];

move_uploaded_file($_FILES['picture']['tmp_name'], $imgDir);

Всё решил оказывается после pictures нужен был слэш!

Ну вот картинка загружена на сервер а дальше то что, как занести её путь в базу и вывести картинку на экран?

rcc0023 06.08.2008 10:57

сохранение в базу

mysql_query(" INSERT INTO $name_t SET url='$url_pic' ");
где, $name_t имя таблицы (table_pic_url), $url_pic путь до картинки (либо динамик - название)

вывод из базы
$mysql_query=mysql_query("SELECT * FROM $name_t");
while($geo=mysql_fetch_array($mysql_query)){
statik_shablon="<tr><td><a href='www.site/ ".$geo['url_pic']." '>... </a>";
$result=$result."".statik_shablon;
};

rcc0023 06.08.2008 10:58

$_FILES['picture']['name'] ?? корректная переменная?)

MafiaBoy3 06.08.2008 11:02

Да.
Спасибо

Мне вот этот url непонятен
http://cs1476.vkontakte.ru/u12676108/a_a66ac0d9.jpg

u12676108 - это же не папка?

rcc0023 06.08.2008 11:17

MafiaBoy3, разобрался с базой??

MafiaBoy3 06.08.2008 11:18

да принцип понятен, но не ясно другое.

rcc0023 06.08.2008 11:19

возможно и папка... под чего то определенное.
можешь все это u12676108/a_a66ac0d9.jpg в базу добавить ;)

rcc0023 06.08.2008 11:20

MafiaBoy3, что не ясно!??

MafiaBoy3 06.08.2008 11:23

Мне говорят что вконтакте есть всего несколько папок А не несколько миллионов. Это логично потому что иначе сервера бы накрылись. Но значит ли это то, что там в одной папке изображений может храниться несколько миллионов картинок?

u12676108/a_a66ac0d9.jpg
Это результат работы mod rewrite для Apache

MafiaBoy3 06.08.2008 11:45

Конечно же понятно что фотки хранятся в папке.
Но такое я вижу в первый раз - u12676108/a_a66ac0d9.jpg
(где u12676108- это id юзера, а остальное имя картинки, сгенирированное скриптом конечно же)


Если я пишу скрипт фотоальбома то ведь он должен всегда выводить фотки из папки пользователя. В моём случае я использую БД, поэтому всякие циклы типа foreach отпадают, есть id пользователя в базе и нет папки. Так как тогда получилось это u12676108/a_a66ac0d9.jpg????

5triker 06.08.2008 11:47

Цитата:

Но значит ли это то, что там в одной папке изображений может храниться несколько миллионов картинок?
а где им еще хванится то ?

rcc0023 06.08.2008 12:14

Сделай выборку из списка (<selected name='dir'> папка один, два, три...)

выглядить то будет так:
mysql_query(" INSERT INTO $name_t SET url='$url_pic',dir='$dir' ");
где, $dir ето кака директория ()

вывод из базы
$mysql_query=mysql_query("SELECT * FROM $name_t");
while($geo=mysql_fetch_array($mysql_query)){

if($geo['dir']==1){$dir_n="u324jdsj";}
elseif($geo['dir']==2){$dir_n="u32dfsdsj";}
else{$dir_n="";}

statik_shablon="<tr><td><a href='www.site/".$dir_n."/".$geo['url_pic']." '>... </a></td>. ..";
$result=$result."".statik_shablon;
};

а вообще забивай в юрл и саму папку... чего парится то...

MafiaBoy3 06.08.2008 12:19

rcc0023 чёто я не понял о чём ты говоришь?

rcc0023 06.08.2008 12:22

видно u12676108 спец папка для того юзера.
вводи в базу такое значение u12676108/a_a66ac0d9.jpg !!!

rcc0023 06.08.2008 12:24

Аль ти хочешь грабить картинки? с последующим просмотром на своем сайте????

Neoveneficus 06.08.2008 12:26

Все что тебе нужно:
1) подробное объяснение
2) пример скрипта для загрузки изображений

http://phpclub.ru/detail/article/upload

3) то, что тебе нужно именно с mysql (просто из поста не понятно) - домашнее задание
к тому же там работа с mysql описана
не забываем про + ;)

MafiaBoy3 06.08.2008 12:26

u12676108 спецпапка да?
То есть ты говоришь что... там для каждого пользователя своя папка. и получается >>>16.000.000 папок!!!

А хотя почему бы и нет? Значит мне тоже для каждогопользователя делать папку под его фотки!

Neoveneficus 06.08.2008 12:36

Посмотри это:

http://phpclub.ru/detail/article/upload

1) подробное объяснение;
2) пример скрипта для загрузки изображений;

3) то, что тебе нужно именно с позиции mysql (просто из поста не понятно) - это домашнее задание.
К тому же там работа с mysql описана

m0nsieur 06.08.2008 12:37

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

rcc0023 06.08.2008 12:37

Говорю же возможно что так))) потому что не пользовался такими сайтами... да и желания регаца нет))) но если ти предложишь разместить у себя скриптик (с легальной структурой, моему порталу необходимы разные ip адреса), помогу написать. =)

MafiaBoy3 06.08.2008 12:44

ага значит я правильно думал нужно всего то создавать после регистрации для каждого пользователя новую папку под его фотки.

5triker 06.08.2008 13:08

Цитата:

ага значит я правильно думал нужно всего то создавать после регистрации для каждого пользователя новую папку под его фотки.
судя по всему ты ничего не понял

MafiaBoy3 06.08.2008 15:21

$sql="UPDATE users SET (pic_url='$imgDir') WHERE id='$user_id'";
$result=mysql_query($sql);

Эти команды в скрипте выполняются, но когда я открываю phpmyAdmin то напротив поля pic_url нечего не стоит(оно просто пустое).

В чём может быть проблема?

mff 06.08.2008 15:27

Сохраняй картинки прямо в базу в виде двоичного кода.

MafiaBoy3 06.08.2008 15:31

mff
После вас.... ха-ха.

blaga 06.08.2008 15:32

mod_rewrite епт.... вы чего?

MafiaBoy3 06.08.2008 15:45

Разобрался оказывается если вы обновляете только одну запись, то не стоит использовать ( ). Я вообще офигел от этого!

MafiaBoy3 06.08.2008 16:24

<IMG SRC=http://cs1476.vkontakte.ru/u12676108/a_a66ac0d9.jpg ALT ='' />

Вот это собственно мне и непонятно.
Может ли быть так что домен cs1476 сделан специально для 20.000.000 папок?
Если нет то как можно приблизительно восстановить выше приведённый url, изменив название скрипта?

blaga 06.08.2008 16:34

имхо cs1476 это как раз реальная физическая папка где храниться файл a_a66ac0d9.jpg а u12676108 это ид пользователя тока и всего....

MafiaBoy3 06.08.2008 16:37

blaga
помоги пожалуйста

Как мне такое же сделать,а?

bul.666 06.08.2008 16:39

Почитай тут http://www.htaccess.net.ru/

blaga 06.08.2008 16:40

зачем? не легче тупо складывать картинки в папку? а потом оттуда выводить? определенное количество картинок в папке дошло, создаешь новую папку и снова туда грузишь....

MafiaBoy3 06.08.2008 16:44

blaga
определённое количество это сколько? Как мне 1.000.000 хранить?

5triker 06.08.2008 16:57

ПРОЧИТАЙ БЛЯТЬ ХОТЬ ОДНУ КНИГУ ПО ПХП ПОТОМ СПРАШИВАЙ

ЧЕ ЗА ДИБИЛИЗМ ДЕЛАТЬ ТО ЧЕГО НИХУЯ НЕ УМЕЕШ

MafiaBoy3 06.08.2008 17:07

Ты чё, а? Ты че? Чё ты? Я прочитал я полностью Котеров , Костарёв php 5 в подлиннике (>>1100 ст.)

И чё? Чё ты, а ? Чё ты? Ты чё я тебя помню нахрен

5triker 06.08.2008 17:18

Цитата:

Я прочитал я полностью Котеров , Костарёв php 5 в подлиннике (>>1100 ст.)
значит ты баран если прочитал больше 1к страниц но даже понятия не имееш как это может работать , не то что сделать

MafiaBoy3 06.08.2008 17:21

u fucking 5triker!

То что там написано я как раз и понимаю

Ты чё думаешь умнее меня, чё ты а? Чё думаешь хорошо в пшп играешь? Чтобы в книге было написано как оптимизировать сайт на посещаемость , я не видел, и чё?


Время: 16:35