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 に答える