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 :: Генерация названия для файла [2]
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
A.N.R.I В том варианте что предлагая я имело в виду следующее - мы полность убираем имя исходного файла и заместо него берем код - то есть заместо abc.jpg получим типа 480124801284390.jpg с абсолтно уникальным именем
Также можете добавить индектификатор пользователя и любые куски оригинального имени - поюс можно проверить чтобы имя не было длинее 256 символомчтобы не было проблем на некоторых ОС
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
A.N.R.I
Отправлено: 19 Января, 2010 - 19:29:02
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
JustUserR пишет:
PHP:
скопировать код в буфер обмена
$pieces=explode('.',$_FILES['file_name']['name']);
$fname=uniqid().$pieces[count($pieces)-1];
Так, а как поставить точку после названия? И мне бы так id_login.jpg как так сделать??
-----
JustUserR
Отправлено: 20 Января, 2010 - 09:53:57
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
A.N.R.I То есть у вас для каждого login/id будет только одно изображение? В таком случае подойдет вариант
Также можно добавить к этому уникальный идентификатор и получить возможность иметь много изображений для одного пользователя
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
A.N.R.I
Отправлено: 20 Января, 2010 - 16:11:13
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
JustUserR пишет:
A.N.R.I То есть у вас для каждого login/id будет только одно изображение? В таком случае подойдет вариант
Да, а зачем мне старый аватар? Его все ровно использовать не будут, по этому я его и удяляю. Все работает, только ошибку пишет:
rename(,user_2.jpg) [function.rename]: No error in Z:\home\localhost\www\work\blocks\profile.php on line 232
Вот эта строка:
$avatar = rename ($avatar_dir, $fname);
-----
vitaliy_mad
Отправлено: 20 Января, 2010 - 16:44:23
Участник
Покинул форум
Сообщений всего: 1107
Дата рег-ции: Окт. 2008 Откуда: Украина, Мариуполь
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
Мелкий пишет:
$_FILES['file_name']['name'] - физически на сервере никогда не существует. Существует $_FILES['file_name']['tmp_name']
да и зачем вообще эта строка?
Если брать tmp_name - ошибка выскакивает.
А как еще скопировать этот файл???
-----
Мелкий
Отправлено: 20 Января, 2010 - 18:33:32
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Собственно, 11 строка вашего исходника...
----- PostgreSQL DBA
A.N.R.I
Отправлено: 20 Января, 2010 - 18:39:18
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
Мелкий пишет:
Собственно, 11 строка вашего исходника...
Упс, не то сказал. Эта строка ПЕРЕИМЕНОВУЕТ файл. Или где-то я еще не доглядел???
-----
Мелкий
Отправлено: 20 Января, 2010 - 18:41:34
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Про то и спрашиваю: зачем rename, если вы всё равно будете копировать файл в другое место под новым именем? А если сработает переименовывание, то файл, собственно, будет недоступен для копирования.
----- PostgreSQL DBA
A.N.R.I
Отправлено: 20 Января, 2010 - 18:46:49
Гость
Покинул форум
Сообщений всего: 122
Дата рег-ции: Март 2009 Откуда: Вінницька обл.
Помог: 0 раз(а)
Мелкий пишет:
Про то и спрашиваю: зачем rename, если вы всё равно будете копировать файл в другое место под новым именем? А если сработает переименовывание, то файл, собственно, будет недоступен для копирования.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.