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

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

  • nameivan

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

    Spritz 4 декабря 2008 г. 7: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 г. 7:27, спустя 1 минуту 40 секунд

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

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

    Spritz 4 декабря 2008 г. 7:28, спустя 1 минуту 22 секунды

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

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

    Spritz 4 декабря 2008 г. 7:29, спустя 25 секунд

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

  • Timur

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

    Spritz 4 декабря 2008 г. 7:50, спустя 21 минуту

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

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

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

    Spritz 4 декабря 2008 г. 8:46, спустя 56 минут 28 секунд

    tmpfile()
    adw/0
  • AlexB

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

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

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

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