さて、あなたはあなたが好きなフォーマットにそのアップロードされた画像を変換する画像ライブラリを使用することができますつまり、.JPGをアップロードすると、ImagickやGDのような画像ライブラリを使用して.PNGファイルを出力してアップロードすることができます。
しかし、あなたが.JPGか.PNG(またはその問題に関しては.GIF)を気にしない場合は、PHPを使ってディレクトリをスキャンして、すべてのファイルを探すことができます(本当に集中的かもしれません!)。与えられた名前のファイル。例えば
:
<?php
foreach(scandir('/path/to/resale_certificates/') as $file){
if($file != '.' && $file != '..'){
// explode so we remove the last extension path (not type safe !)
$arguments = explode('.', $file);
// store the last part
$ext = end($arguments);
// pop the extension from the $arguments array so we are left
// with whatever was left
array_pop($arguments);
// concatenate the $arguments into a single string again
$filename = implode('.', $arguments);
// now we can check the filename again
if($filename == $theirEncrypt){
unlink('/path/to/resale_certificates/' . $filename . '.' . $ext);
}
}
}
編集: $ファイル)(SCANDIRによって返さ$ファイルの配列から文字列です。関数。シングルドットとダブルドットは、現在の(。)ディレクトリと親ディレクトリ(..)にナビゲートする方法であり、したがってシンボリックリンクです。別のオプションは、$ファイルが実際にファイルであるかどうかをチェックすることです。比較行をis_file( '/ path/to/resale_certificates /'。$ファイル)に置き換えてファイルやシンボリックリンク(。や..のようなもの)かどうかを調べることができますが、文字列をチェックするのはさらに集中的です比較。あなたのユースケースでは、それは必要ではありません。
関連するノートでは、これはクライアントと証明書の数によって異なりますが、代わりにファイル名をストレージ(つまり、データベースなど)に保存してファイルのリンクを解除することもできますこれにより、各ファイルを繰り返し処理し、ファイルを直接リンク解除することができます。
この場合、ファイルの種類に関係なく、既存のイメージを削除して新しいイメージをアップロードする必要があります。 – Perumal