Не могу получить ограничения Php для работы с тегом ввода HTML для загрузки песни

0

Привет, я пытаюсь получить ограничения на работу с моим сценарием загрузки php, чтобы убедиться, что люди загружают музыку только с нуля, но когда я запускаю в браузере, я всегда получаю сообщение об ошибке,

    <?php

    // This  PHP5 file is used to move an uploaded song file to its final
    // destination. The song is scaled as part of the process.

    // A normal HTML upload form will serve as the user interface  for the
    // upload.  The  song  file should be  submitted  using a  field named
    // "song". 

    // set database connection
    require("------.php");

    // lets get our posts //
       $song     = $_FILES['song'];
    // folder that will hold songs
       $songpath = "songs/";
    // song-file pathname
       $songpath .= $song["name"];

    //---------------------------------------------------------------
    //  this  file  is  going to add  restrictions to the song  form



       $ftype  = $_FILES["song"]["type"  ];
       $xerror = $_FILES["song"]["error" ];
       $xsize  = $_FILES["song"]["size"  ];

        if (($ftype == "audio/mp3"  )
         || ($ftype == "audio/ogg"  )
         || ($ftype == "audio/wav"  )
         || ($ftype == "audio/midi" ))

        {
            $it_is_a_song = 1;
        }
        else
        {
            $it_is_a_song = 0;
        }

        if ($it_is_a_song && ($xsize < 20971520) && ($xerror == 0))
        {
            $it_is_good = 1;
        }
        else
        {
            $it_is_good = 0;
        }



    //-----------------------------------------------------------------
    print <<<END
    <html>
    <title>You Must Party Upload Results</title>
    <body>
    END;

    // move the file from the tmp folder to the song folder
    if ( $it_is_good &&
         move_uploaded_file ($song['tmp_name'], $songpath))
    {
         print "<p>Upload succeeded thank you</p>\n";
    }
    else
    {
        print "<p>Upload failed, sorry</p>\n";
    }

    print <<<END
    <p>
    To continue, <a href="images.php">click here.</a>
    </p>
    </body>
    </html>
    END;

    ?>
  • 0
    В качестве предупреждения: проверка предоставленного браузером типа MIME не является 100% безопасной - могут быть ложные отрицания, и злоумышленник может подделать тип MIME при загрузке файла, который не является музыкальным файлом.
  • 0
    Я все еще довольно новичок в Php. Есть ли способ обойти браузер MIME-типа? это касается меня
Теги:

1 ответ

0
Лучший ответ

$_FILES["song"]["type"] вернет тип mime и тип mime song не существует, поэтому он всегда будет терпеть неудачу.

Вместо этого используйте audio, например. audio/ogg.

  • 0
    Спасибо, я попробую это
  • 0
    Будет ли какой-либо способ указать, что вы имеете в виду, измените код на аудио / mp3, аудио / ogg, но все равно получите неудачную загрузку, iv сделав поиск в Google, но на самом деле не могу найти ничего
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню