我想知道是否可以在表单输入文件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'。不是顺序的,而是根据输入表格框。
尽管进行了各种试验和错误,我还是没有成功。
答案 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