我尽力研究如何将输入类型文件数组传递给另一个php页面。 但每当我将值从一个页面发布到另一个页面时,我就会陷入困境。
我有这个代码写在cityaddinfo.php页面上,提交指向页面cityadded.php
<form method="POST" action="cityadded.php?city=<?php echo $city?>">
<tr>
<td>
<?php
$quecityimage=mysql_query("SELECT * FROM `city_image` WHERE city_id=$city");
echo "<b>city images</b><br>";
while($cityimage=mysql_fetch_assoc($quecityimage))
{
$pathcity=$cityimage['path'];
echo "<img src='$pathcity' width=\"400px\" height=\"200px\"/><br><br>";
}
?>
</td>
</tr>
<tr>
<td>
<p class="clone"> File:
<input type="file" name="f_name[]" size="10" style="font-family: arial; font-size: 22px;"/>
<p>
<a href="#" class="add" rel=".clone">Add More</a>
</p>
</td>
</tr>
<tr>
<td>
<input type="submit" value="submit" name="submit">
</td>
</tr>
cityadded.php代码:
<?php
echo $_GET['city'];
if(isset($_POST['submit']))
{
$a= $_POST['f_name'];
foreach($a as $img)
{
echo $img;
}
}
?>
代码echo只是一个输入类型文件名的名称。即使我添加了多个文件。 有人可以帮我解决如何在其他页面上发布此输入文件数组的问题吗? 在此先感谢:)
答案 0 :(得分:1)
你有很多错误,
$a= $_POST['f_name'];
您无法像这样访问文件字段,而应使用$_FILES
。
如果您想使用表单上传文件,那么表单属性中应该有enctype="multipart/form-data"
我也不会看到。我想你需要学习一些基础知识。
答案 1 :(得分:0)
对文件使用$ _FILES而不是$ _POST。
答案 2 :(得分:0)
将此添加到您的表单:
enctype="multipart/form-data"
示例:
<form method="POST" action="cityadded.php?city=<?php echo $city?>" enctype="multipart/form-data">
答案 3 :(得分:0)
您需要在表单标记中设置enctype =“multipart / form-data”。 您可以使用$ _FILES而不是$ _POST来访问PHP脚本上的文件。
<强> HTML:强>
<input type="file" name="file_sent" size="10" style="font-family: arial; font-size: 22px;"/>
PHP页面上的您可以使用以下
访问该页面 $_FILES["file_sent"]["name"] - the name of the uploaded file
$_FILES["file_sent"]["type"] - the type of the uploaded file
$_FILES["file_sent"]["size"] - the size in kilobytes of the uploaded file
$_FILES["file_sent"]["tmp_name"] - the name of the temporary copy of the file stored on the server
$_FILES["file_sent"]["error"] - the error code resulting from the file upload
编辑: 我不明白你为什么要在HTML页面的文件字段中拥有其他属性。我不认为这些属性可以在文件字段上工作。即使他们这样做,也将它们移到样式表中。
参考这个。 http://php.net/manual/en/features.file-upload.multiple.php 您需要使用索引访问它们,因为您传递的是文件元素数组。