ФорумПрограммированиеPHP для идиотов → Загрузка файлов на сервер

Загрузка файлов на сервер

  • nameivan

    Сообщения: 1 Репутация: N Группа: Кто попало

    Spritz Дек. 4, 2008, 6:25 п.п.

    Необходимо организовать возможность загрузки файлов на сервер.

    Данный код загружает файл на сервер в рарку и при этом в базу записывает имя этого файла.

    if(move_upload_file($_FILES["Fot1"]["tmp_name"], "imeges/".$_FILES["Fot1"]["name"])) 
    { $f=$_FILES["Fot1"]["name"];

    $link=mysql_connect("localhost", "root", "") or die("Сервер не найден");

    mysql_select_db("base") or die("Таблица не найдена");
    $query = "insert into upload (`file`) value ('$f')";
    mysql_query($query, $link);


    echo mysql_error();

    mysql_close($link);
    echo("Файл загружен");

    }
    else
    {
    echo("Ошибка загрузки файла");
    }


    А как быть если имена файлов совпадут? Понятное дело файл перезапишется. Как этого избежать?

    // Timur: код оформляй тегами code
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz Дек. 4, 2008, 6:27 п.п., спустя 1 минуту 40 секунд

    сделай проверку на иф_файл_екзистс
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz Дек. 4, 2008, 6:28 п.п., спустя 1 минуту 22 секунды

    Сгенерировать имя файла, например, $filenam = time().$filename;
  • megabit

    Сообщения: 367 Репутация: N Группа: Кто попало

    Spritz Дек. 4, 2008, 6:29 п.п., спустя 25 секунд

    проверить на существование файла с таким именем

  • Timur

    Сообщения: 1068 Репутация: N Группа: Джедаи

    Spritz Дек. 4, 2008, 6:50 п.п., спустя 21 минуту

    добавляй rand() или uniqid() к имени файла

    вообще вариантов - куча )
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz Дек. 4, 2008, 7:46 п.п., спустя 56 минут 28 секунд

    tmpfile()
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz Дек. 4, 2008, 10:05 п.п., спустя 2 часа 18 минут 32 секунды

    Все что сказали выше имеет право на жизнь, но ИМХО самое разумное спереди имени файла приписать ID записи в базе.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!