0

好吧,伙计们,这似乎是一个新手问题,但我遇到了一些我似乎无法解决的循环问题。我只是想在我的第一个项目网站上上传多张图片。

当我发布这个测试 php 页面时,它会上传我要求的所有文件。我希望上传的所有图像都上传到预期的目录。

<?php
$files = $_FILES['fileField'];
for ($x = 0; $x < count($files['name']); $x++)
{
        $name     = $files['name'][$x];
        $tmp_name = $files['tmp_name'][$x]; 
        move_uploaded_file($tmp_name, "property_images/$property_name/" . $name);
        header("location: property_list.php"); 
        exit();
}   
?>

但是,当我尝试包含我的解析器时,虽然它进入了正确的目录,但只有第一个文件被上传

<?php 
if(isset($_POST['property_name'])){
$property_name = mysql_real_escape_string($_POST['property_name']);
$district = mysql_real_escape_string($_POST['district']);
$address = mysql_real_escape_string($_POST['address']);
$property_type = mysql_real_escape_string($_POST['property_type']);

$sql = mysql_query("SELECT id FROM mydb WHERE property_name='$property_name' LIMIT 1");
$propertyMatch = mysql_num_rows($sql); 
if($propertyMatch > 0)
{
    echo 'Sorry, you tried to place a duplicate "Property Name" into the system, <a href="property_list.php">click here</a>';
exit();
}   

$sql = mysql_query("INSERT INTO mydb (property_name, district, address, property_type) VALUES ('$property_name','$ district','$address','$property_type')")or die (mysql_error());

if (!file_exists("property_images/$property_name"))
        {
        mkdir("property_images/$property_name");
        }
$files = $_FILES['fileField'];
for ($x = 0; $x < count($files['name']); $x++)
{
        $name     = $files['name'][$x];
        $tmp_name = $files['tmp_name'][$x]; 
        move_uploaded_file($tmp_name, "property_images/$property_name/" . $name);
        header("location: property_list.php"); 
        exit();
}   
}
?>

计数代码工作正常,所以我认为要么是这些 {} 错误,要么我需要修复一下我的眼睛。任何帮助将不胜感激。

4

1 回答 1

0

您需要添加到输入名称 [] 括号和属性“ multiple

<form id = "upload_form" method="post" enctype="multipart/form-data"  >
    <input type="file" name="uploaded_file[]" multiple="true" id="uploaded_file" style="color:black" /><br/>
</form>

现在所有上传的文件都可以通过

$_FILES['uploaded_file']['name'][0]
$_FILES['uploaded_file']['name'][1]
and so on

更多信息请访问http://www.php.net/manual/en/features.file-upload.multiple.php

希望这对你有帮助。

于 2013-07-25T02:56:03.267 回答