1

これは少しおかしなことかもしれません。

別のフォルダーに 2 セットのファイルがあります: SET 1:

  • celeb1.png
  • celeb2.png
  • celeb3.png
  • celeb4.png
  • celeb5.png

ユーザーが画像 (ラジオ) を選択すると、これを URL の get 変数として設定します。

今、私は別のファイルを一致させたいと思っています。

別のフォルダーには、次のようなセットがあります。

セット 2:

  • celeb1-24_59_250_300.png
  • celeb2-35_67_200_250.png
  • celeb3-54_87_300_400.png
  • celeb4-88_98_250_350.png
  • celeb5-87_43_300_400.png

GET 変数 (ie) celeb1.png を使用して、最初の 5 文字に基づいて、対応するファイルの完全なファイル名を選択します。

つまり、$_GET['celebimg'] が 'celeb1.png' の場合、2 番目の変数 ($overlay としましょう) を文字列 'celeb1-24_59_250_300.png' に設定します。

それを達成する方法について何か考えはありますか?

明らかに切り替えることはできますが、それは新しい有名人の画像がアップロードされるたびにコードを更新する必要があることを意味します.

これを達成する動的な方法はありますか?

ありがとう

JG

4

2 に答える 2

0

globフォルダの検索に使用

//Get the GET variable
$cimg = $_GET['celebimg'];

//split it so we can just get the name without extention
$nameparts = explode(".",$cimg);

//glob will try to find matches to the string passed 
$matches = glob("/dir/path/{$nameparts[0]}-*.png");

$matches一致したファイルの配列になります

scandirまたはなどの他のファイル関数を使用できますreaddirが、それらはファイルを除外しないため、それを行う必要があります。

于 2013-09-22T18:34:09.947 に答える