2013-03-13 33 views
1

我有一個形式的輸入與此類似:

<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']. 
    */ 
} 

所以,我希望能夠得到字段名「糖果」或「蘋果」不知道它是什麼。到目前爲止,我所見過的所有事情都假定在處理文件時已經知道'糖果'。

換句話說,我想從上傳的文件後退到它上傳的元素。這可能與PHP?

更新瞭解決方案:

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

會給 'candy.jpg' 或者根據輸入字段名 'apple.jpg'。

回答

0

您可以要求在foreach聲明密鑰的姓名(或名稱)的數組。

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

} 
+0

太簡單了,謝謝! – Dodo 2013-03-13 06:26:59

1

嘗試

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

    // your stuff 

} 

$_FILES是有作爲指標的輸入(文件類型)