PHP - 未定义的索引错误

0 php forms

这是我的表单,文件输入字段名为photo:

<form action = "spremi-film.php" method = "POST" enctype = "multipart/form-data">
    <div class="grid_2">Naslov:</div>
    <div class="grid_10"><input type="text" name="naslov" value="" /></div>

    <div class="grid_2">Žanr: </div>
    <div class="grid_10"><?php izborZanra();   ?></div>

    <div class="grid_2">Godina: </div>
    <div class="grid_10"><?php izborGodine();   ?></div>

    <div class="grid_2">Trajanje:</div>
    <div class="grid_10"><input type="text" name="trajanje" value="" /></div>

    <div class="grid_2">Izbor slike:</div>
    <!--<input type="hidden" name="MAX_FILE_SIZE" value="30000" />-->
    <div class="grid_10"><input type="file" name="photo"  /></div>


    <div class="grid_12"><input type="submit" value="SPREMI" /></div>
</form>
Run Code Online (Sandbox Code Playgroud)

之后,我把这个代码:

$uploaddir = '/slike';
$uploadfile = $uploaddir . basename($_FILES['photo']['name']);

//echo '<pre>';

if(move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile))
{
    echo 'Slika je uspješno spremljena!';
}
else
{
    echo 'Slika nije spremljena!';
}

//print_r($_FILES);

//echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

当我运行这个时,我undefined index: photo在浏览器中收到通知.

Wol*_*gel 6

问题是$_FILES['photo']仅在用户上载文件时定义,而不是在显示表单时首次执行脚本期间定义.

isset($_FILES['photo'])在访问$uploadfile = ...if (move_uploaded_file(...行中的变量之前检查.