Автор Тема: Есть вопросик !  (Прочитано 9798 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн stanlee

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 215
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« : 14 Января 2004, 16:21:53 »
Подсажите плз.
Допустим у нас есть форма для загрузки на сайт блякого барахла
Меня интересует как сделать так, чтобы при загрузке каждому файлу при загрузке можно было писваивать порядковый номер не зависимо от расширения????

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #1 : 14 Января 2004, 17:38:05 »
заведи счетчик в базе. При загрузке очередного файла увеличивай его на единицу.

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Есть вопросик !
« Ответ #2 : 14 Января 2004, 18:35:32 »
или считай файлы в каталоге.
Не все коту матрица.

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #3 : 14 Января 2004, 19:18:10 »
Croaker А если несколько файлов удалить?

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Есть вопросик !
« Ответ #4 : 15 Января 2004, 00:59:41 »
stanlee
Можешь объяснить зачем тебе это надо???

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

Что ты подразумеваешь под порядковым номером файла вообще?
[off]файлы, становись, на первый-второй расчитайсь!
первый...
второй...
...
n-ндацать третий, расчет окончен[/off]

что делать с номерами файлов после 3-го, если удалили файл с порядковым номером 3?

можно ли менять имена файлов? т.е. был somefile.gif стал 21341.gif

расширение желательно проверять и иметь список разрешенных для закачки типов файлов

Diesel
ну и что? автор топика поставил задачу неоднозначно, как хочешь, так и понимай.
работа в Украине

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #5 : 15 Января 2004, 01:53:10 »
Yukko какая разница зачем ему это надо, сказано "порядковый", значит попорядку. от 1 до n. Кстати если порядок не важен, нужна только уникальность, то можно использовать time(), но при этом  гепотетически возможна ситуация когда 2 файла попытаются сохраниться с одинаковыми номерами, все равно придется использовать какой-то флаг, чтоб разные копии скрипта знали что идет сохранение файла.

>расширение желательно проверять и иметь список разрешенных для закачки типов файлов

В этом смысла я вообще не вижу, во-первых потому что автор топика не указал что нужена такая проверка нужна, во-вторых что будет если я поменяю расширение?

Оффлайн Neter

  • Жустер
  • Старожил
  • ****
  • Сообщений: 324
  • +0/-0
  • 2
    • Просмотр профиля
Есть вопросик !
« Ответ #6 : 15 Января 2004, 11:00:55 »
stanlee Слушай сюда.
Короче если ты делаешь каталог файлов заведи таблицу файлов, со структурой типа: id, ext, description.

Как выковырить расширение(ext)?

Грубый способ(только если для себя делаешь)
$ext = substr(strrchr($filename, "."), 1);

Более правильный способ:
Проверять mime тип файла. if($_FILES[\'userfile\'][\'type\'] == "image/gif") ..

А если вруг подумаешь "а может без БД", спрошу: а как ты их различать-то будешь?
Мне тормоз послужил толчком...

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Есть вопросик !
« Ответ #7 : 15 Января 2004, 11:14:10 »
Diesel

Цитировать
А если несколько файлов удалить?


ну и что? а если из базы запись удалить? Ты все синхронизировать будешь, чтоль?
Не все коту матрица.

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Есть вопросик !
« Ответ #8 : 15 Января 2004, 11:47:27 »
Цитировать
Diesel:
какая разница зачем ему это надо

Большая.
Расчитывать по порядку номеров свои файлы — такой же бред, как проводить "дефрагментацию" id\'ов в базе данных, чтобы они шли по порядку, если же ему надо просто посчитать их, то я это сделаю без базы данных.
работа в Украине

Оффлайн stanlee

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 215
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #9 : 15 Января 2004, 12:39:26 »
А как узнать тип файла уже загруженный на сервер?

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #10 : 15 Января 2004, 12:50:01 »
Croaker Если удалить один файл то, если следовать твоему рецепту, имя следующего файла будет таким же как имя последнего сохраненного. Я не говорил хранить ссылки на файлы а всего лишь счетчик, который только увеличивается, но некогда не уменьшается.

Yukko Естественно если при этом удалить файл то они не будут уже идти по порядку, но я нигде не советовал проводить "дефрагментацию". Я предложил 2 способа как обеспечить уникальность имен файлов, потому что думаю, что другого смысла их переименовывать нет. А мысль о том, что нумеровать файлы требуется для того, чтобы посчитать их количество, мне даже в голову прийти не могла....

Оффлайн stanlee

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 215
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #11 : 15 Января 2004, 12:52:13 »
Цитировать
А как узнать тип файла уже загруженный на сервер?


???

Оффлайн Diesel

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 69
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #12 : 15 Января 2004, 12:56:53 »

Оффлайн Croaker

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 927
  • +0/-0
  • 0
    • Просмотр профиля
    • http://alex-files.ru
Есть вопросик !
« Ответ #13 : 15 Января 2004, 13:01:40 »
Цитировать
Diesel:
Croaker Если удалить один файл то, если следовать твоему рецепту, имя следующего файла будет таким же как имя последнего сохраненного. Я не говорил хранить ссылки на файлы а всего лишь счетчик, который только увеличивается, но некогда не уменьшается.


Естествнно нужно проверить перед копированием нового файла - есть ли уже файл с таким именем. Если есть, счетчик увеличиваем на 1;


while(is_file($count.".".img_type)) {
  
$count++;
}

// создаем\\копируем файл


Не все коту матрица.

Оффлайн stanlee

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 215
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Есть вопросик !
« Ответ #14 : 15 Января 2004, 13:25:39 »
а можно ли так
загружаем файл к примеру 1.doc
делаем ссылку на него
но надо чтоб по ссылке выдавался архив с этим файлом, например, zip
но на сервере не лежит zip файл а архивируется прямо в момент нажатия на сылку

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28