Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Генерация названия для файла
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
Короче хочу сделать генерацию названия файла аватара. Т.е. если заливали файл noavatar.png его нужно переименовать на другой (типа wqjl2jklk2.png), что б не было замен одной картинки на другую.
Так вот, мне нужно как-то сгенерировать названия для переменной $new_name, что бы совпадения приближались до 0, и что бы расширения тоже сохранялось. Кто-то подскажет в чем проблема?
Кстати, поставил загрузку аватара на сайт, переместил на хостинг, и иногда сайт в дауне и мне пишет: "Apache is functioning normally" - что делать??
-----
Мелкий
Отправлено: 16 Января, 2010 - 21:16:10
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
Мелкий пишет:
Как вариант - использовать id юзера из базы
хм, можно. Проблем потом, по теории, не должно быть. Но я еще подумаю (Добавление) Мелкий, ты есть на ДПК? А то ник знаком (Добавление)
Есть проблемка при переименовании - как расширения оставить старое??
-----
Мелкий
Отправлено: 16 Января, 2010 - 22:10:14
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
A.N.R.I пишет:
Есть проблемка при переименовании - как расширения оставить старое??
$myrowl5 = mysql_query ("UPDATE userlist SET avatar='{$avatar}' WHERE id='$_GET[u]' ");
-----
JustUserR
Отправлено: 17 Января, 2010 - 12:06:28
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
A.N.R.I Может использовать uniqid чтобы названия не затирались?
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
A.N.R.I
Отправлено: 17 Января, 2010 - 12:22:52
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
JustUserR пишет:
A.N.R.I Может использовать uniqid чтобы названия не затирались?
а как использовать. Я прочитал описание - эта функции генерирует название на основе микросекунд и т.д, да? А как тогда переименовать, что бы расширение не поменялось?
-----
JustUserR
Отправлено: 17 Января, 2010 - 12:26:41
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
A.N.R.I Берете имя закачанного файла и explode-ите его по точкам в названии и выбираете последний элемент (По сути расширения файла) - потом делаете uniqid и добавляете к нему расширение
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
A.N.R.I
Отправлено: 17 Января, 2010 - 12:37:01
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
JustUserR пишет:
A.N.R.I Берете имя закачанного файла и explode-ите его по точкам в названии и выбираете последний элемент (По сути расширения файла) - потом делаете uniqid и добавляете к нему расширение
И у финале должно получиться 1_admin.gif , да?
а если файл будет:
2_a.n.r.i.gif - картинка будет показываться??? (Добавление)
И еще, как уменьшить изображения пропорционально. Т.е. есть изображенния 200х100, а нужно сделать, что бы ширина была не больше за 150px, а высота сама подогналась?
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
andrweb пишет:
Мой совет используй функцию time() и сохраняй аватары в одной папке и в базе. Имена в папке никогда не совпадут.
Нет, так не пойдет. Уже почти получилось!!!!
Аватар загружает, но пишет:
Warning: rename(9517.jpg,2_user.jpg) [function.rename]: No such file or directory in Z:\home\localhost\www\work\blocks\profile.php on line 233
$myrowl5 = mysql_query ("UPDATE userlist SET avatar='{$new_name}' WHERE id='$_GET[u]' ");
Кстати, как сделать, что бы бралась ПОСЛЕДНЯЯ точка, а то если загрузить аватар a.n.r.i.jpg аватар то есть, но названия 1_a.n.r.i.n
-----
andrweb
Отправлено: 17 Января, 2010 - 17:30:34
Гость
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: РОССИЯ Ростов-на-Дону
Помог: 0 раз(а)
Не мучейся. Попробуй тайм и ненадо ничего разбивать и тд. У аватара будет уникальное имя и никаких проблем.
----- Горбатого могила исправит.
A.N.R.I
Отправлено: 17 Января, 2010 - 17:33:48
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
andrweb пишет:
Не мучейся. Попробуй тайм и ненадо ничего разбивать и тд. У аватара будет уникальное имя и никаких проблем.
На сколько я понял - скинуть в папку, переименовать и в поле БД написать путь к файлу???
-----
andrweb
Отправлено: 17 Января, 2010 - 17:43:27
Гость
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: РОССИЯ Ростов-на-Дону
Помог: 0 раз(а)
Цитата:
На сколько я понял - скинуть в папку, переименовать и в поле БД написать путь к файлу???
Да. Таймом преобразовываешь имя. Копируешь файл с преобразованным именем. Заносишь путь к файлу с преобразованным именем в базу под нужным id. И пользуйся. Также таймом можно сохранять и дату добавления. А при выводе пробразовывать обратно в дату.
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
andrweb пишет:
Да. Таймом преобразовываешь имя. Копируешь файл с преобразованным именем. Заносишь путь к файлу с преобразованным именем в базу под нужным id. И пользуйся. Также таймом можно сохранять и дату добавления. А при выводе пробразовывать обратно в дату.
Так у меня почти тоже. Только переименовую на id_login . расширения прикрепляю после точки (от по этому и нужна помощь) и переношу из tmp в папку images/avatar. А в БД записываю названия файла. (Добавление)
Если не так: помоги кодом
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.