PHP根据HTML表单输入文件ID重命名图像

时间:2013-10-04 23:31:11

标签: php

我想知道是否可以在表单输入文件ID上重命名图像。

<form action="upload_file.php" enctype="multipart/form-data" method="post">
    <input id="picture_01"  type="file">
    <input id="picture_02"  type="file">
    <input id="picture_03"  type="file">
    <input id="picture_04"  type="file">
<input name="submit" type="submit" value="Submit">
</form>

我希望如果从输入4上传图像,它将被重命名为'picture_04',如果它来自输入表格2,它将被重命名为'picture_02'。不是顺序的,而是根据输入表格框。

尽管进行了各种试验和错误,我还是没有成功。

2 个答案:

答案 0 :(得分:0)

您需要为输入命名:

<input id="picture_01" name="picture_01" type="file">

然后在PHP中,您使用$_FILES数组检索图像,例如$_FILES['picture_01']或仅通过$_FILES循环。

foreach( $_FILES as $input_name=>$file)
{
  // $input_name is the name used as the form input name
  // $file is an array with the following keys: name, type, tmp_name, error, size.
}

当然,手册总是很好读http://www.php.net/manual/en/features.file-upload.post-method.php

答案 1 :(得分:0)

我会为每个输入使用单独的表单。这样你可以使用隐藏的输入,如:

<form action="upload_file.php" enctype="multipart/form-data" method="post">
   <input type='hidden' name='picture_03_file' value="picture_03" />
   <input type='file'   name='picture_03_name' />
</form>
<form action="upload_file.php" enctype="multipart/form-data" method="post">
   <input type='hidden' name='picture_04_file' />
   <input type='file'   name='picture_04_name' value="picture_04" />
</form>

这样你的PHP代码就像:

$imgName = $_POST['picture_04_name'];
// Do file upload here