通过$_Files读取表单输入元素名


Read form input element name via $_Files

我有一个输入类似于这样的表单:

<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'。到目前为止,我所看到的所有内容都假设在处理文件时已经知道'candy'。

换句话说,我想从上传的文件向后工作到上传它的元素。这在PHP中可能吗?

更新解决方案:

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

将根据输入字段的名称给出'candy.jpg'或'apple.jpg'。

Try

foreach($_FILES as $nameOfInputFile => $file) {
    // your stuff
}

$_FILES是一个数组,它的索引是输入(类型为file)的名称

您可以在foreach语句中请求密钥

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