我有一个表单。当用户点击添加文件时。附加两个输入字段。一个具有要上载的文件的输入名称,另一个具有文件本身的输入字段
<form>
<label>File 1</label>
<input type="text" name="fileName[]"/>
<input type="file" name="file[]"/>
<label>File 2</label>
<input type="text" name="fileName[]"/>
<input type="file" name="file[]"/>
.
.
.
.
<input type="submit" value="submit"/>
&#13;
如何获取相应的文件名和文件以便插入 由于文本字段将存储在$ _POST变量和$ _FILES
文件中答案 0 :(得分:2)
首先,您的表单需要具有属性enctype="multipart/form-data"
,如下所示:
<form type="post" enctype="multipart/form-data">
在提交时:您可以获得$ _FILES和$ _POST数组。 要查看您拥有的内容,请尝试(如果已提交):
echo '<pre>';
print_r($_POST);
print_r($_FILES);
echo '</pre>';
如果您的文件字段name
属性为“upload_pic”,则您的$_FILES
数组应如下所示:
Array
(
[upload_pic] => Array
(
[name] => name_of_file
[type] => file_type
[tmp_name] => temporary_name
[error] => 4
[size] => 0
)
)
我相信这会为您提供插入数据库所需的任何信息。 (例如$filename = $_FILES['upload_pic']['name']
),将其添加到$ _POST数组并继续执行插入查询。
修改强>: 重新阅读你的问题,我明白了:
当用户点击添加文件时。附加两个输入字段。一 使用要上载的文件的输入名称和另一个带输入的文件 文件本身的字段......
我想知道为什么你需要为“fileName”手动构建单独的text
输入,因为你可以从$_FILES
数组中获取它(如上所述)。
答案 1 :(得分:0)
将[{1}}中的内容和$_POST
中的内容存储在变量中。然后你需要用$_FILES
和fopen
打开de文件到你从fwrite
检索的变量文件。完成后不要忘记$_POST
文件。