phpファイルのアップロードを介してサーバーにアップロードしているこのファイルがあります。
6;'!8.jpg
このコードを使用して、英数字以外の文字を削除しました。
$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);
それは問題なく動作しますが、このように私の画像を返します
68jpg
これを次のように返すための最良の方法は何でしょうか68.jpg
何か案は?
phpファイルのアップロードを介してサーバーにアップロードしているこのファイルがあります。
6;'!8.jpg
このコードを使用して、英数字以外の文字を削除しました。
$image1 = ereg_replace("[^A-Za-z0-9]", "", $_FILES["image"]["name"]);
それは問題なく動作しますが、このように私の画像を返します
68jpg
これを次のように返すための最良の方法は何でしょうか68.jpg
何か案は?
ereg/eregiは使用しないでください。これらの関数は非推奨です。代わりにPCRE関数を使用してください。
この方法を試してください
$image1 = preg_replace("#[^a-z0-9\.]#i", null, $_FILES["image"]["name"]);
代わりにこのコードを試してください:
$image1 = ereg_replace("[^A-Za-z0-9\\.]", "", $_FILES["image"]["name"]);
ただし、 PHP関数はパフォーマンスが高い(非推奨ではない)ため、実際にはPHP関数preg_
の代わりに使用する必要があります。ereg_
PHPのpathinfo($ _ IMAGE ["image"] ["name"])コマンドを使用して、ファイル名のベースパス、ベース名、およびファイル拡張子を分解できます。次に、ベース名に対して検索と置換を実行し(@John Condeが推奨するように)、ベース名とファイル拡張子を連結して元に戻すことができます。