Admin Posted July 30, 2007 Report Share Posted July 30, 2007 Я пишу файлообменник, и мне надо сделать функцию проверки формата файла.Все нижеперечисленное мной испробовано, ничего не работает:ereg('[a-zA-Z0-9.mp3$|.ogg$]', $name );if($name[2] == "audio/mpeg") { //заливка файла } else { //нет }Код целиком смогу выложить только завтра. Помогите плз!{...отредактировано kiD} Quote Link to comment Share on other sites More sharing options...
0 kiD Posted July 30, 2007 Report Share Posted July 30, 2007 как вариант$ext = strtolower(strrchr($_FILES['filename']['name'], "."));$extensions = array(".mp3",".ogg");if(in_array($ext, $extensions)) copy();else echo "error"; Quote Link to comment Share on other sites More sharing options...
0 LokiDi L0ck Posted July 31, 2007 Report Share Posted July 31, 2007 Предположим у меня есть archive.rar, я переименую в music.mp3, и файл пройд?т?))) Quote Link to comment Share on other sites More sharing options...
0 kiD Posted July 31, 2007 Report Share Posted July 31, 2007 тогда $_FILES['filename']['type'] Quote Link to comment Share on other sites More sharing options...
0 Admin Posted August 1, 2007 Author Report Share Posted August 1, 2007 ч?рт вс? решилось само собой, проблема уже другая - не проходят файлы с нижними подч?ркиваниями, а с русскими буквами и пробелами проходят! :) kiDПожалуйста можно поподробней код (если можно с комментами), ато я не видел таких функций в учебнике))strtolowerin_arrayвообще не понял)спасибо{...отредактировано kiD}"k" - башкирская, "i" - латинская, "D" - большая!пишите, пожалуйста, мой ник правильно!хорошо, будем следить за написанием) Quote Link to comment Share on other sites More sharing options...
0 shkoda Posted August 1, 2007 Report Share Posted August 1, 2007 описание этих функций есть на официальном сайте (php.net), с примерами и пояснениями Quote Link to comment Share on other sites More sharing options...
0 Mostom Posted August 10, 2007 Report Share Posted August 10, 2007 Функция, возвращающая расширение файла (параметр - имя файла)function return_ext($filename){ return strtolower(array_pop(explode(".", $filename)));}Чтобы не было проблем с русскими буквами, нужно обрабатывать имена файлов, например транслитеровать, а символы "_" заменять чем-нибудь другим...Функция транслитерации:function transliterator($totrans){$transliterator=Array("а" => "a", "б" => "b","в" => "v","г" => "g","д" => "d","е" => "e","?" => "e","ж" => "j","з" => "z","и" => "i","й" => "i","к" => "k","л" => "l","м" => "m","н" => "n","о" => "o","п" => "p","р" => "r","с" => "s","т" => "t","у" => "u","ф" => "f","х" => "h","ц" => "c","ч" => "ch","ш" => "sh","щ" => "sch","ъ" => "","ы" => "y","ь" => "","э" => "e","ю" => "yu","я" => "ya","А" => "a", "Б" => "b","В" => "v","Г" => "g","Д" => "d","Е" => "e","?" => "e","Ж" => "j","З" => "z","И" => "i","Й" => "i","К" => "k","Л" => "l","М" => "m","Н" => "n","О" => "o","П" => "p","Р" => "r","С" => "s","Т" => "t","У" => "u","Ф" => "f","Х" => "h","Ц" => "c","Ч" => "ch","Ш" => "sh","Щ" => "sch","Ъ" => "","Ы" => "y","Ь" => "","Э" => "e","Ю" => "yu","Я" => "ya"," " => "-""_" => "-");return strtr($totrans, $transliterator);} Quote Link to comment Share on other sites More sharing options...
Question
Admin
Я пишу файлообменник, и мне надо сделать функцию проверки формата файла.
Все нижеперечисленное мной испробовано, ничего не работает:
ereg('[a-zA-Z0-9.mp3$|.ogg$]', $name );if($name[2] == "audio/mpeg") { //заливка файла }else { //нет }
Код целиком смогу выложить только завтра. Помогите плз!
{...отредактировано kiD}
Link to comment
Share on other sites
6 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.