"PHP" / Говнокод #4676 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
for ($i = 0; $i < count($_FILES['att']['name']); $i++) {
  if (copy($_FILES['att']['tmp_name'][$i], "files/".$_FILES['att']['name'][$i])) {
    unlink($_FILES['att']['tmp_name'][$i]);
    chmod("files/".$_FILES['att']['name'][$i], 0644);
  }
}

Из той же гостевухи как и кусок примера в http://www.govnokod.ru/4660.
Мультизагрузка файлов на сервер. Естественно, тоже пришлось до
ума доводить.

Запостил: dwinner dwinner, (Updated )

Комментарии (8) RSS

  • в этом коде прекрасно все: и толстый, лоснящийся копипаст. И хеш хешей с массивами и кросс-платформенный чмод
    Ответить
    • Много файлов залилось в темповую директорию.
      Мы копируем их в директорию files, сохраняя имена.
      Удаляем файлы (строка 3) из темповой директории.
      Ставим права файлам в директории 644 (Unix/Linux).
      =====
      Дерьмо в том, что если имена файлов будут иметь одинаковые имена, то один файл перетерёт предыдущий.

      И если в имени файла будут символы не допустимые для ОС, на которой работает этот PHP-скрипт, будет тоже дерьмо.
      Ответить
  • Год не такое уж и Г, просто тут целая куча (так и хочется сказать говна) потенциальных ошибок...
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8