0
//photoform.php

<html>
<body>
<form action="upload.php" name="phsub" method="post" enctype="multipart/form-data">
<?php
session_start();
$op=$_POST["opcnt"];

if ($op!="Select")
{
    echo "<fieldset>";
    echo "<legend> Open Category </legend>";

    for ($i=1;$i<=$op;$i++)
{
    echo "<input name='ofile$i' id='ofile$i' type='file'/>";
    echo"<br>";
}
    echo "</fieldset>";
}
?>
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>

アップロード.php

<?php 
    $empty = $post = array(); 
    foreach ($_POST as $varname => $varvalue) { 
        if(empty($varvalue)) { 
            $empty[$varname] = $varvalue; 
        } 
        else { 
            $post[$varname] = $varvalue; 
        } 
    } 
    print "<pre>"; 
    if (empty($empty)) { 
        print "None of the POSTed values are empty, posted:\n"; 
        var_dump($post); 
    } 
    else { 
        print "We have " . count($empty) . " empty values\n"; 
        print "Posted:\n"; 
        var_dump($post); 
        print "Empty:\n"; 
        var_dump($empty); 
        exit; 
    }
?>

質問 : すべての $post 値をリストすると、静的な「送信」ボタンしか表示されません。条件に基づいて、生成されたすべてのファイル アップロード コントロールを確認できます。しかし、upload.php ファイルでコントロールを取得できません。コードに何か問題があるかどうかを教えてください。私はPHPが初めてです。ご意見をお寄せいただきありがとうございます。

ありがとう - Abhik Banerjee

4

2 に答える 2

0

photoform.php変数を出力して、そうでない$_POSTことを確認します。$_POST['opcnt']select

photoform.phpまた、可能であれば、フィールドやフィールド名が欠落している可能性があるため、から実際の出力htmlを追加してください。

また、

//upload.php

<?php
    var_dump($_POST);
?>

POSTフォーム変数にアクセスするには、を使用します$_POST

// アップデート

タイプをとしてform送信しているため、これらは特殊なケースと見なされます。値は変数にマップされます。inputfile$_FILES

詳細については、 php.netのphpドキュメントを参照してください。

于 2013-03-08T10:58:31.137 に答える
0

$_FILES からファイルの詳細を取得できます

于 2013-03-08T11:32:11.143 に答える