PHP脚本在>(不是?>)之后结束

PHP脚本在>(不是?>)之后结束,php,Php,我犯了一个非常恼人的错误。在>之后,我的脚本结束 <html> <body> <h1>Upload file to see previous upload!</h1> <form action="index.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label>

我犯了一个非常恼人的错误。在>之后,我的脚本结束

<html>
<body>
    <h1>Upload file to see previous upload!</h1>
    <form action="index.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 (isset ($_FILES["file"])) {
                $allowedExts = array("jpeg", "jpg", "png");
                $temp = explode(".", $_FILES["file"]["name"]);
                $extension = end($temp);
                if ((($_FILES["file"]["type"] == "image/jpeg")
                  || ($_FILES["file"]["type"] == "image/jpg")
                  || ($_FILES["file"]["type"] == "image/pjpeg")
                  || ($_FILES["file"]["type"] == "image/x-png")
                  || ($_FILES["file"]["type"] == "image/png"))
                  && ($_FILES["file"]["size"] < 1048576)
                  && in_array($extension, $allowedExts)) {
                    if ($_FILES["file"]["error"] > 0) {
                        echo "Error: Couldn't upload file!";
                    } else {
                        move_uploaded_file($_FILES["file"]["tmp_name"], "files/" . $_FILES["file"]["name"]);
                    }
                } else {
                    echo "Upload a file NAO!";
                }
            }
        ?>
</body>
</html>
因此,在我的页面上,我可以阅读以下内容:0{echo错误:无法上载文件!;}否则{move\u uploaded\u file$\u FILES[file][tmp\u name],FILES/$\u FILES[file][name];}否则{echo welcome!;}?>


猜猜看!那不是我想做的。。。因此,如果有人能解释为什么会发生这种情况,我将非常感激。

因为文件名错误或php代码开头拼写错误,即php根本没有被处理。确保您的页面是.php页面,并且位于php服务器上。否则,请确保Apache正在处理您正在使用的任何文件扩展名的PHP


另外,请注意,在查看网页源代码时使用小写PHP更为常见。我打赌你会在那里看到脚本代码的另一部分。我不确定这是否重要,但这不应该在.php或.html文件中吗?如果不是.php,这就不起作用了。@RocketHazmat它是一个。php@user2741021:您确定PHP正在运行吗?试试看,我刚检查过,可以用了。我对此有点惊讶。大写对于open标记并不重要。实际上,PHP对caps的定义相当宽松。只有变量名、数组键和一些常量名是区分大小写的
 <?PHP
        if (isset ($_FILES["file"])) {
            $allowedExts = array("jpeg", "jpg", "png");
            $temp = explode(".", $_FILES["file"]["name"]);
            $extension = end($temp);
            if ((($_FILES["file"]["type"] == "image/jpeg")
            || ($_FILES["file"]["type"] == "image/jpg")
            || ($_FILES["file"]["type"] == "image/pjpeg")
            || ($_FILES["file"]["type"] == "image/x-png")
            || ($_FILES["file"]["type"] == "image/png"))
            && ($_FILES["file"]["size"] < 1048576)
            && in_array($extension, $allowedExts))
            {

            if ($_FILES["file"]["error"] >
<?php
// PHP code here
?>
AddType application/x-httpd-php .php