PHP文件在浏览器中打开而不是运行

3

我正在为学校项目建立一个网站,需要一些与PHP相关的内容。 我需要它上传.swf文件。 但是当我按下“上传”按钮时,它会在浏览器中打开php文件,而不是运行它,或者如果有错误则显示错误。

这是我的HTML代码:

<!DOCTYPE html>
<html>
<head>
<title>New Smallcut</title>
</head>
<body>
<font face="verdana" size="2">
<div style="text-align:center">
This is a webpage<br>
But no matter what, I am King
<p><a href=http://www.kiaye.org/>KIAYEorg</a></p>
    <br>
    <img src=KingSn0w.png width="100" height="100" alt=“King Sn0wCh1ld’s logo”>


    <form action="upload.php" method="post" enctype="multipart/form-data">
        Select game to upload:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="Upload Image" name="submit">
    </form>
</div>
</font>

这个网页本来很简单,只有一张图片和一个表单,现在需要在图片和表单上方添加一些文字。

接下来是 PHP 代码,我从 W3Schools 上找到的。

<?php
$target_dir = "uploads";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
} else {
    echo "File is not an image.";
    $uploadOk = 0;
}
}

// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "swf") {
echo "Sorry, only .swf files are allowed.";
$uploadOk = 0;
}
?>

我完全不知道为什么它不起作用,我已经5年没有使用HTML了(我上一次使用它时才9岁),我真的需要这一部分PHP(我并不理解),来使其正常工作。稍后我还需要更多PHP来进行整站搜索,以及搜索结果等内容,如果我能让这个工作起来会让我感到安心。
提前致谢!

如果你不理解代码,你怎么能想着让它正常工作呢? - Ja͢ck
无论如何,这是一个服务器配置问题。这里并不完全离题。 - Ja͢ck
你是否已经安装了PHP和服务器?如果没有,那就是你的问题所在。对于新手来说,最简单的方法是安装一个服务器捆绑包。在我的经验中,XAMPP一直表现得非常好,但是还有其他选择。请参考这里 - Sverri M. Olsen
3个回答

3
您正在通过 file:// 访问该文件,无论您是否安装了 Web 服务器,如果在浏览器中直接打开 PHP 文件,则 Web 服务器与之无关;您是直接打开文件,没有经过 Web 服务器的干预。
您的 Web 服务器已配置为运行本地网站,我假设可以通过您的本地 IP 地址 127.0.0.1 访问该网站。
在浏览器中输入该地址并检查是否能正常访问。

1

尝试将此代码添加到您的PHP文件所在的.htaccess文件中。

AddHandler application/x-httpd-php .php

如果不起作用,这意味着您的apache服务器上没有安装PHP。请联系您的托管提供商。
编辑:
您需要在apache服务器上安装PHP模块才能运行PHP文件。
您可以安装像XAMPP这样的捆绑软件包,然后就可以运行php文件了。您可以在此处阅读更多信息:https://www.apachefriends.org/index.html

我正在我的电脑上运行它,通过 file:// 的方式。 - JustMe
你不能像这样运行PHP文件。要执行PHP文件,你需要安装和配置了PHP的Apache服务器。 - Sh1d0w
JustMe,我觉得你真的需要了解一下如何在Web上运行PHP(或任何其他语言)。你的浏览器只能提供静态文件,如果你想要“运行”你的PHP,例如在浏览器中获取脚本的输出,你需要在其中加入一个解释器,这可以通过一个Web服务器(例如Apache、NginX等)来实现。 - Timusan
另外,我应该给 .htaccess 文件起什么名字?这个重要吗? - JustMe
要使用 .htaccess 文件,您需要通过 Apache 服务器运行网站,您可以在互联网上阅读如何安装和配置的相关信息。 - Sh1d0w
显示剩余3条评论

0

你需要像Nginx、Apache或PHP服务器这样的Web服务器,如果没有,当你尝试通过浏览器(file://)访问文件时,浏览器会认为它是纯文本。

XAMPP和WAMP堆栈都是推荐的,并且非常容易安装,它们还带有MySQL(对于XAMPP还有Perl)

当然,如果所有这些好处都不适合你,你可以只安装独立的Web服务器,这里提供了安装Nginx并设置PHP的说明,这里提供了Apache的说明。

祝你好运!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接