你可以做这样的事情:
$i = 0;
foreach($_FILES as $file)
{
$tmp = explode('.', $file['name']);
${'file_ext_fig'.++$i} = strtolower(array_pop($tmp));
${'file_name_fig'.$i} = implode('.', $tmp);
}
现在你有一个像瓦尔:$file_ext_fig1
,$file_name_fig1
,$file_ext_fig2
,$file_name_fig2
等...
顺便说一句,我必须告诉你,你不应该使用这种方法来确定文件扩展名。这里说:https://stackoverflow.com/a/10368236/3799829你应该做到以下几点
$i = 0;
foreach($_FILES as $file)
{
${'file_ext_fig'.++$i} = pathinfo($file['name'], PATHINFO_EXTENSION);
${'file_name_fig'.$i} = pathinfo($file['name'], PATHINFO_FILENAME);
}
通过你会看到,我使用++$i
的方式,如果这是扰乱你,你可以这样做:
$i = 0;
foreach($_FILES as $file)
{
$i++;
${'file_ext_fig'.$i} = pathinfo($file['name'], PATHINFO_EXTENSION);
${'file_name_fig'.$i} = pathinfo($file['name'], PATHINFO_FILENAME);
}
这确实一模一样的
如果你要过滤的文件中的字段使用,让我们做这样的事情
// the fields you want to process
$filter = array(
'fig1_field_name',
'fig2_field_name',
'fig3_field_name',
'fig4_field_name',
'fig5_field_name',
);
$i = 0;
foreach($_FILES as $key => $file)
{
if(!in_array($key, $filter)) continue;
$i++;
${'file_ext_fig'.$i} = pathinfo($file['name'], PATHINFO_EXTENSION);
${'file_name_fig'.$i} = pathinfo($file['name'], PATHINFO_FILENAME);
}
听说过for for循环 – Ghost
我这么认为。但我该怎么做? –