2016-08-30 19 views
0

アップロードされたファイルのファイルタイプを取得するにはどうすればよいですか?それが.pptの場合、.docx.pdf.png.mp4などです。誰かがこれについて私を助けることができますか?私はファイルのアップロードを学び始めています。私にいくつかの手がかりをお願いします。ちょうどPHPの初心者。アップロードされたファイルのファイル拡張子を取得する方法

ここに私のコードです。

<?php 
include_once 'dbconfig.php'; 
if(isset($_POST['btn-upload'])) 
{  

    $file = rand(1000,100000)."-".$_FILES['file']['name']; 
    $file_loc = $_FILES['file']['tmp_name']; 
    $file_size = $_FILES['file']['size']; 
    $folder="uploads/"; 

    // new file size in KB 
    $new_size = $file_size/1024; 
    // new file size in KB 

    // make file name in lower case 
    $new_file_name = strtolower($file); 
    // make file name in lower case 

    $final_file=str_replace(' ','-',$new_file_name); 

    if(move_uploaded_file($file_loc,$folder.$final_file)) 
    { 
     $sql="INSERT INTO tbl_uploads(file,size) VALUES('$final_file','$new_size')"; 
     mysql_query($sql); 
     ?> 
     <script> 
     alert('successfully uploaded'); 
     window.location.href='index.php?success'; 
     </script> 
     <?php 
    } 
    else 
    { 
     ?> 
     <script> 
     alert('error while uploading file'); 
     window.location.href='index.php?fail'; 
     </script> 
     <?php 
    } 
} 
?> 
+3

お試しください: $ _FILES ['file'] ['type']; –

+0

誰もが「 '、0」という名前のファイルをアップロードします;テーブルを落とすtbl_uploads; - "! –

+0

これは 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'のように長いデータを返しました。 '.docx'のように具体的にする方法は? – nethken

答えて

4

を試してください:あなたはpathinfo()機能を使用することができます

$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION); 
+1

それは働いた!ありがとう:) – nethken

-4

ちょうどこの試してみてください。この

<?php 

echo filetype('/etc/passwd'); // file type 
echo filetype('/etc/');  // dir type 

?> 
+0

Mohamed Nazirと同じ回答です。ファイルやディレクトリ、リンクであれば返されますが、拡張子ではありません。 –

+0

これを試してみてくださいpathinfo() - $ ext = pathinfo($ filename、PATHINFO_EXTENSION); –

0

を。

関連する問題