2013-12-11 2 views
0

У меня есть функция findtexts в PHP, чтобы получить расширение загруженного файла, и оно не работает. Если я эхо $ ext, я ничего не получаю.findtext extension не работает

if (isset($_POST['submit'])) 
{ 
if ($_POST['mainfile'] != "") 
{ 
    function findexts ($filename) 
    { 
     $filename = strtolower($filename) ; 
     $exts = preg_split("%[/\\\\.]%", $filename); 
     $n = count($exts)-1; 
     $exts = $exts[$n]; 
     return $exts; 
    } 

    //This applies the function to our file 
    $ext = findexts ($_FILES['mainfile']['name']) ; 
    $ran = rand() ; 
    $ran2 = $ran."."; 
    $target = $pid."_main_".$ran2.$ext; 
    $ok=1; 

    echo "ext= " .$ext; 
    echo "<br>target = " .$target; 

} 


} 

ответ

0

попробовать это

if (isset($_POST['submit'])) 
{ 
if (isset($_FILES['mainfile'])) 
{ 
    function findexts ($filename) 
    { 
     $filename = strtolower($filename) ; 
     $exts = preg_split("%[/\\\\.]%", $filename); 
     $n = count($exts)-1; 
     $exts = $exts[$n]; 
     return $exts; 
    } 

    //This applies the function to our file 
    $ext = findexts ($_FILES['mainfile']['name']) ; 
    $ran = rand() ; 
    $ran2 = $ran."."; 
    $target = $pid."_main_".$ran2.$ext; 
    $ok=1; 

    echo "ext= " .$ext; 
    echo "<br>target = " .$target; 

} 

} 
+0

, если я попытаюсь с если ($ _GET [ 'mainfile']) .. это даже не собирается в этом Braket ... он ничего не делает .. если я использую если ($ _POST [ 'mainfile']! = "") он вызывает код, но я получаю $ ext = ничего ... Я думаю, что у меня проблема с временным файлом ... это возможно? – user3011784

+0

Если я делаю echo $ _FILES ['mainfile'] ['tmp_name']; Я также ничего не получаю – user3011784

+0

oops my error if ($ _FILES ['mainfile']) попробуйте это, тогда var_dump ($ _ FILES ['mainfile']) – kiro112

0

Используйте следующие действия для извлечения расширения из файла.

pathinfo($filename, PATHINFO_EXTENSION) 
Смежные вопросы