xampp可以用作文件服务器吗?

时间:2019-07-02 17:29:10

标签: php networking xampp plesk

我有一个php应用程序,可将文件保存到本地计算机。我计划将其上传到plesk,但是如果这样做,我将无法访问那些文件。有没有办法让xampp充当文件服务器(例如,我的桌面可以在网络之外访问)?

我正在使用的php部分如下所示(上传部分,我在此之前定义了变量和连接):

if (isset($_GET['file_id'])) {
    $ID = $_GET['file_id'];

    // fetch file to download from database
    $sql = "SELECT * FROM Files WHERE ID=$ID";
    $result = mysqli_query($conn, $sql);

    $file = mysqli_fetch_assoc($result);
    $filepath = '/uploads' . $file['filename']; //this is the localhost file

    if (file_exists($filepath)) {
        header('Content-Description: File Transfer');
        header('Content-Type: application/octet-stream');
        header('Content-Disposition: attachment; filename=' . basename($filepath));
        header('Expires: 0');
        header('Cache-Control: must-revalidate');
        header('Pragma: public');
        header('Content-Length: ' . filesize('/uploads' . $file['filename']));
        readfile('/uploads' . $file['filename']);

        exit;
    }

}

因此它将保存到名为“ uploads”的文件夹中。我也有一个与之比较的sql实例,对于xampp端而言并不重要,但它确实存在。

主要问题与上面的代码无关(这是它现在如何工作的示例)。相反,xampp配置文件如何工作以使其可从外部访问。所以说真的,我需要一种用IP和文件路径替换“上传”的方法。

总结:

SQL&WEB主机:Plesk

文件存储:通过我的桌面进行Xampp

1 个答案:

答案 0 :(得分:0)

听起来您需要研究端口转发。 大多数允许您从外部访问服务器的选项都需要端口转发,而某些ISP则不允许这样做。 更好的文件管理选项是使用FTP,但这也需要端口转发,每个路由器的处理过程都不同。

一旦转发,在plesk服务器和xampp实例之间需要某种通信,您可以使用JSON为plesk实例提供文件数组(如果您正在寻找能够执行的操作)