私はPHpとMysqlを学んでいます。ユーザーがアップロードした特定のファイル拡張子のみを許可する関数を作成したい。好き..
$whitelist = array("jpg","jpeg","gif","png","bmp","pdf" );
では、この特定のファイル拡張子をphpで確認するにはどうすればよいですか。誰か教えてもらえますか..ありがとうございます。
私はPHpとMysqlを学んでいます。ユーザーがアップロードした特定のファイル拡張子のみを許可する関数を作成したい。好き..
$whitelist = array("jpg","jpeg","gif","png","bmp","pdf" );
では、この特定のファイル拡張子をphpで確認するにはどうすればよいですか。誰か教えてもらえますか..ありがとうございます。
これはオプションです:
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));
}
よろしく!
アップロードされたファイルのファイル拡張子を次のようなpathinfo
ドキュメントで取得します
$extension = pathinfo($filename, PATHINFO_EXTENSION);
次に、許可された拡張機能のホワイトリストと照合します
$allowedExtensions = array("jpg","jpeg","gif","png","bmp","pdf");
$isAllowed = in_array($extension, $allowedExtensions);
tar.gzのようないくつかの特別な拡張機能を取得するために、拡張機能認識関数を変更する必要があるかもしれませんが、それでうまくいくはずです。
編集:ここで述べたように、ファイル拡張子をチェックするのではなく、mime-typeをチェックする必要があります。
ここを見てください: http ://www.w3schools.com/php/php_file_upload.asp
それを行う方法を示す例を提供します。