2

次のような入力を含むフォームがあります。

<p><label>Image 1: </label><input type="file" name="candy"></p>
<p><label>Image 2: </label><input type="file" name="apple"></p>
<p><label>Image 3: </label><input type="file" name="red"></p>

$_Files のループを使用して、アップロードされたファイルの入力要素の入力フィールド名 (値ではない) を取得できるかどうか疑問に思っています。

foreach($_FILES as $file) {
  /*
  do image processing here, but would like to save as 
  'candy.jpg' rather than $file['name'].
  */
}

だから私はそれが何であるかを知らなくても、フィールド名 'candy' または 'apple' を取得できるようにしたいと考えています。これまで見てきたことはすべて、ファイルを処理するときに「キャンディー」がすでにわかっていることを前提としています。

つまり、アップロードされたファイルからアップロード元の要素までさかのぼって作業したいと考えています。これはPHPで可能ですか?

ソリューションで更新:

foreach($_FILES as $key=>$file) { 
  $image = new Imagick($file['tmp_name']); 
  // do some processing 
  $image->writeImage($key.'.jpg'); 
}

入力フィールド名に応じて「candy.jpg」または「apple.jpg」が表示されます。

4

2 に答える 2

1

試す

foreach($_FILES as $nameOfInputFile => $file) {

    // your stuff

}

$_FILES入力の名前(ファイルタイプ)をインデックスとして持つ配列です

于 2013-03-13T06:01:33.333 に答える
0

foreachステートメントでキーをリクエストできます。

foreach($_FILES as $key=>$file) {

}
于 2013-03-13T06:02:32.093 に答える