PHPを使用してファイル名を検証する最良の方法は何ですか?PHPを使用してファイル名を検証する( "a-z"、 "0-9"、 " - ")
ファイル名に "a-z"、 "0-9"、 " - "だけが含まれているかどうかを確認します。また、ファイル名に大文字がないことを確認してください。
$file = 'the-name.ext';
if ($file == 'only contains a-z, 0-9 or "-"' // HOW TO
&& $file == 'lowercasse' // HOW TO
&& $file == 'a-z') // HOW TO
{
// upload code here
}
else{
echo 'The file "' . $file . '"was not uploaded. The file can only contain "a-z", "0-9" and "-". Allso the files must be lowercasse. ';
}
私は、ファイルの拡張子を取り除くために、このような何かをやってしまった:
$filename = 'fil-name.jpg';
$filname_without_ext = pathinfo($filename, PATHINFO_FILENAME);
if(preg_match('/^[a-z0-9-]+$/',$filname_without_ext)) {
echo'$file is valid';
} else {
echo'$file is not valid';
}
は:それはそうと、あなたの 'else'メッセージが誤解を招きます名前ではなくファイルの内容を参照する。 –