-2

重複の可能性:
phpでのアップロード時に特定のファイルタイプのみを許可するにはどうすればよいですか?

私はPHpとMysqlを学んでいます。ユーザーがアップロードした特定のファイル拡張子のみを許可する関数を作成したい。好き..

$whitelist = array("jpg","jpeg","gif","png","bmp","pdf" );

では、この特定のファイル拡張子をphpで確認するにはどうすればよいですか。誰か教えてもらえますか..ありがとうございます。

4

3 に答える 3

2

これはオプションです:

function checkFormat($source){
    $whitelist = array("jpg","jpeg","gif","png","bmp","pdf" );
    $type="";
    if(version_compare('4.3.0', PHP_VERSION) > 0){
        $type=mime_content_type($source['tmp_name']);
    }else{
        $type=$source['type'];
    }

    return (in_array($type, $whitelist));
}

よろしく!

于 2012-04-09T08:01:13.763 に答える
2

アップロードされたファイルのファイル拡張子を次のようなpathinfoドキュメントで取得します

$extension = pathinfo($filename, PATHINFO_EXTENSION);

次に、許可された拡張機能のホワイトリストと照合します

$allowedExtensions = array("jpg","jpeg","gif","png","bmp","pdf");
$isAllowed = in_array($extension, $allowedExtensions);

tar.gzのようないくつかの特別な拡張機能を取得するために、拡張機能認識関数を変更する必要があるかもしれませんが、それでうまくいくはずです。

編集:ここで述べたように、ファイル拡張子をチェックするのではなく、mime-typeをチェックする必要があります。

于 2012-04-09T08:02:09.827 に答える
0

ここを見てください: http ://www.w3schools.com/php/php_file_upload.asp

それを行う方法を示す例を提供します。

于 2012-04-09T08:07:21.617 に答える