2016-09-27 6 views
-2

私のコードの作業はうまくいっていますが、 "xls"または "xlsx"のみをアップロードできるようにしたいと思います。私のPHPの検証で私を助けてもらえますか? "":type "=> $ _FILES ['upload-file'] ['tmp_name']" backend.php上のコードでもファイルの拡張子ですが、何も持っていませんvalidation.Youでそれを使用する方法についてのアイデアは、以下の私のサンプルアレイに見ることができます。拡張子ファイルを1つだけ許可し、PHPで重複しないようにしてアップロードフォームを検証する方法は?

"My sample array" 

Array (
    [upload-file] => Array 
     (
      [name] => Jellyfish.jpg 
      [type] => image/jpeg 
      [tmp_name] => C:\xampp\tmp\php222D.tmp 
      [error] => 0 
      [size] => 775702 
     ) 

) 


"My code in the backend.php" 
case 'upload-file': 
       $folder = time(); 
       mkdir("path/".$folder); 

       $file = "path".DIRECTORY_SEPARATOR.$folder.DIRECTORY_SEPARATOR.$_FILES['upload-file']['name']; 

       move_uploaded_file($_FILES['upload-file']['tmp_name'], $file); 

       $arr = [ 
         ":userid" => $_SESSION['loggedIn_PH'][0]['user_id'], 
         ":filename" => $_FILES['upload-file']['name'], 
         ":filelink" => $_FILES['upload-file']['tmp_name'], 
         ":type" => $_FILES['upload-file']['tmp_name'] 
       ]; 

       $query = "INSERT INTO file_rec_tbl (`file_name`, `file_datetime`,`file_link`, `user_id`) 
        VALUES (:filename, '".date('Y-m-d H:i:s')."',:filelink,:userid)"; 

       $stmt = $con -> prepare($query); 
       $stmt -> execute($arr); 


       // exit(print_r($stmt, true)); 


      break; 

答えて

1
$allowed = array('gif','png' ,'jpg'); 
$filename = $_FILES['upload-file']['name']; 
$ext = pathinfo($filename, PATHINFO_EXTENSION); 
if(!in_array($ext,$allowed)) { 
    echo 'error'; 
} 

このコードを試してみてください...

関連する問題