多个图像上传.....无法正常工作

时间:2013-10-04 19:23:21

标签: php file-upload

我愿意上传多张图片但有奇怪的问题.. 我正在使用这个简单的代码...

<?php
require("query/config.php");
$p_id=$_POST['place_id'];
$file=$_FILES["image"]["name"];
print_r($file);
echo "hghghg";
foreach($file as $key=>$val)
{
move_uploaded_file($_FILES["image"]["tmp_name"],"/upload/" . $val); 
$query=mysqli_query($con,"insert into city_gallery set place_id='$p_id',image='$val'") or die("Alert! Query failed.");

}

这是代码不工作,如果我不使用foreach循环,则不会在upload.php页面上显示任何内容...例如,如果我在upload.php上只有这个代码..它显示...

<?php
require("query/config.php");
$p_id=$_POST['place_id'];
$file=$_FILES["image"]["name"];
print_r($file);
echo "hghghg";

此处输出为... Array ( [0] => 86662.jpg [1] => beautiful-girl-baby-hd-images.jpg [2] => [3] => ) hghghg

所以它的意思是这个页面上存在图像数组......但是当我使用上面的代码与foreach时,它在这个页面上什么也没有显示,也没有在上传文件夹中移动图像而不是图像名字在数据库中,

这是我的表格..

<form action="upload.php" method="post" enctype="multipart/form-data">

                         <?php

                         include("query/config.php");
                         $query=mysqli_query($con,"select * from cite_guide order by id desc");
                         ?>
                         <select id="place_id" name="place_id" >
                         <option value="0">Select Place</option>
                         <?php
                         while($row=mysqli_fetch_array($query))
                         {
                         ?>
                                <option value="<?php echo $row['id']; ?>"><?php echo $row['place']; ?></option>
                                <?php
                                }
                                ?>
                                </select>
                            <fieldset>Image 1

                                <input type="file" class="input-medium" name="image[]" />
                            </fieldset>
                           <fieldset>Image 2

                                <input type="file" class="input-medium" name="image[]" />
                            </fieldset>
                            <fieldset>Image 3

                                <input type="file" class="input-medium" name="image[]" />
                            </fieldset>


                            <fieldset>Image 4

                                <input type="file" class="input-medium" name="image[]" />&nbsp;&nbsp;<input class="submit-green" type="submit" value="Upload" />
                            </fieldset>

                         </form>

现在图片名称将进入数据库,但图片没有移动到上传折叠...对于图像我已更正此

move_uploaded_file($_FILES["file"]["tmp_name"],"/upload/" . $val);

move_uploaded_file($_FILES["image"]["tmp_name"],"/upload/" . $val); 

现在只有图像不动...为什么????

任何想法为什么会发生这种情况......请建议......谢谢

1 个答案:

答案 0 :(得分:0)

感谢您的时间,这是一个循环问题...我将foreach循环替换为for并且我的脚本现在正在运行,我遇到的主要问题是foreach循环遍历{{ 1}}数组,和$_FILES一样,包含每个文件的临时名称。所以我做了一些这样的事情......

我更改了此代码: 从

temp_name

foreach($file as $key=>$val)
{
move_uploaded_file($_FILES["image"]["tmp_name"],"/upload/" . $val); 
$query=mysqli_query($con,"insert into city_gallery set place_id='$p_id',image='$val'") or die("Alert! Query failed.");

}