Проблема с загрузкой файлов на сервер

Тема в разделе "PHP", создана пользователем bvb, 4 ноя 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. bvb

    bvb

    Регистр.:
    17 май 2009
    Сообщения:
    189
    Симпатии:
    34
    Пишу скрипт, который загружает несколько файлов на сервер. У файлов одинаковое имя, но разное расширение. Возникает проблема при загрузке первых двух файлов - копируется один и тот же файл. Третий файл копируется нормально. В чем здесь может быть ошибка?
     
  2. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Покажи код который пишеш вероятно ошибка в нем
     
  3. bvb

    bvb

    Регистр.:
    17 май 2009
    Сообщения:
    189
    Симпатии:
    34
    Вот форма
    <form action='...?...' method='post' enctype='multipart/form-data'
    <input type='file' name='exe' size='40'>
    <input type='file' name='zip' size='40'>
    <input type='file' name='img' size='40'>
    <input type='submit' name='Submit' value='Загрузить'>
    </form>

    А вот обработчик
    if(copy($_FILES["exe"]["tmp_name"], "путь/".$id.".exe"))
    {
    echo("Файл успешно загружен");
    }
    else
    {
    echo("Ошибка загрузки файла");
    }

    if(copy($_FILES["zip"]["tmp_name"], "путь/".$id.".zip"))
    {
    echo("Файл успешно загружен");
    }
    else
    {
    echo("Ошибка загрузки файла");
    }

    if(copy($_FILES["img"]["tmp_name"], "путь/".$id.".jpg"))
    {
    echo("Файл успешно загружен");
    }
    else
    {
    echo("Ошибка загрузки файла");
    }
     
  4. serf78

    serf78 Прохожие

    может проблема в отсутствии закрытия тега?

    PHP:
    <form action='...?...' method='post' enctype='multipart/form-data'>
     
  5. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    733
    Симпатии:
    423
    Попробуйте этот код:
    файл с названием index.php
    PHP:
    <?php
    $id 
    'file';

    if(
    copy($_FILES["exe"]["tmp_name"], "path/".$id.".exe"))
        echo(
    "Файл успешно загружен");
    else
        echo(
    "Ошибка загрузки файла");

    if(
    copy($_FILES["zip"]["tmp_name"], "path/".$id.".zip"))
        echo(
    "Файл успешно загружен");
    else
        echo(
    "Ошибка загрузки файла");

    if(
    copy($_FILES["img"]["tmp_name"], "path/".$id.".jpg"))
        echo(
    "Файл успешно загружен");
    else
        echo(
    "Ошибка загрузки файла");
    ?>
    <form action='index.php' method='post' enctype='multipart/form-data'>
    <input type='file' name='exe' size='40'>
    <input type='file' name='zip' size='40'>
    <input type='file' name='img' size='40'>
    <input type='submit' name='Submit' value='Загрузить'>
    </form>
     
  6. bvb

    bvb

    Регистр.:
    17 май 2009
    Сообщения:
    189
    Симпатии:
    34
    serf78, ошибка не в этом.
    t0wer, по-моему вы написали бред:smmne:
     
  7. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    733
    Симпатии:
    423
    Уважаемый bvb!

    Я немного сократил Ваш код и убрал баг. Если вы считаете что это бред, то этот бред только ваш!!!

    Присвоил $id и убрал ваши русские буквы "путь". Код полностью на 100% рабочий. Сам проверил.

    P.S. Читаем мануалы и не нужно обвинять человека в том, в чем вы не разбираетесь! С уважением...

    Сорри за оффтоп!
     
    Eihwaz и irk нравится это.
  8. bvb

    bvb

    Регистр.:
    17 май 2009
    Сообщения:
    189
    Симпатии:
    34
    t0wer, извините я не хотел вас обидеть, но если бы вы проверили то, что написали ранее, вы бы поняли о чем я говорю. А проблему я решил. Всему виной невнимательность - оказывается я на самом деле загружал один и тот же файл. Так что тему можно закрывать.
     
  9. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    733
    Симпатии:
    423
    вы меня не обидели, но лишние слова тут не к чему.
    я понял о чем вы говорили, а также проверил код который написал ранее (не стал исправлять русские буквы так как тут всем ясно что нужно ставить свой путь вместо них)
    как бы вам не показалось странным, но если вы выберите один файл в трех случаях или три разных файла, то никакой ошибки не будет и весь аплоад пройдет удачно. Так что ошибка была только в синтаксисе, а файлы тут не при чем!
     
  10. bvb

    bvb

    Регистр.:
    17 май 2009
    Сообщения:
    189
    Симпатии:
    34
    Я виноват - видимо не правильно объяснил, что за ошибка была. Проблема была в том, что копировался один и тот же файл два раза. Как потом выяснилось просто потому, что я выбирал для загрузки один и тот же файл дважды. То есть синтаксических ошибок не было.
     
Статус темы:
Закрыта.