0

次のコードを実行しようとしていますが、次のような多くのエラーが発生します。

注意: 未定義のインデックス:C:\xampp\htdocs\SimpleCMS\_class\simpleCMS.php行 14、21、22.23 のファイル。

そして私のコードは

<html>
<body>

<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>




<?php
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Stored in: " . $_FILES["file"]["tmp_name"];
}
?>
4

5 に答える 5

0

最初は $_FILES が空であることはすでにわかっていますが、必要のないインデックスを使用している場合に備えて、PHP から通知されます。

この特定のケースでは、次のようにすることができます。

if ($_FILES["file"]["error"] > 0)
{
    echo "Error: " . @$_FILES["file"]["error"] . "<br>";
}
else
{
    echo "Upload: " . @$_FILES["file"]["name"] . "<br>";
    echo "Type: " . @$_FILES["file"]["type"] . "<br>";
    echo "Size: " . (@$_FILES["file"]["size"] / 1024) . " kB<br>";
    echo "Stored in: " . @$_FILES["file"]["tmp_name"];
}

「@」を指定すると、警告が表示されなくなります。

于 2013-04-30T13:56:03.710 に答える