传递输入类型文件数组

时间:2013-04-24 06:49:24

标签: php arrays post file-upload

我尽力研究如何将输入类型文件数组传递给另一个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只是一个输入类型文件名的名称。即使我添加了多个文件。 有人可以帮我解决如何在其他页面上发布此输入文件数组的问题吗? 在此先感谢:)

4 个答案:

答案 0 :(得分:1)

你有很多错误,

  1. $a= $_POST['f_name'];您无法像这样访问文件字段,而应使用$_FILES

  2. 如果您想使用表单上传文件,那么表单属性中应该有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 您需要使用索引访问它们,因为您传递的是文件元素数组。