You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下XAMPP中move_uploaded_file权限拒绝问题求助

解决Windows XAMPP环境下PHP move_uploaded_file权限拒绝问题

核心问题:路径错误

你的报错显示目标路径为/users/6.png,在Windows系统中,以斜杠开头的路径会指向系统根目录(比如C:\users\6.png),而非你预期的C:\xampp\htdocs\users\6.png。这才是权限拒绝的根本原因——Apache/PHP进程没有系统根目录下users文件夹的写入权限,哪怕你给了htdocs下的users文件夹权限也无效。

解决方案步骤

1. 修正目标路径

把代码中的$targetDir改为指向htdocs下的users文件夹,推荐两种可靠方式:

方式一:使用网站根目录常量拼接

利用$_SERVER['DOCUMENT_ROOT']获取XAMPP网站根目录(即C:\xampp\htdocs),再拼接users文件夹路径:

// 替换原$targetDir定义
$targetDir = $_SERVER['DOCUMENT_ROOT'] . '/users/';

方式二:使用相对路径

由于你的脚本位于C:\xampp\htdocs\scripts\,可以用相对路径向上一级再指向users:

$targetDir = '../users/';

修改后,$targetFilePath会正确指向C:\xampp\htdocs\users\6.png,而非系统根目录。

2. 验证路径正确性(可选但推荐)

在调用move_uploaded_file前,先输出目标路径确认:

echo "目标路径:" . $targetFilePath; // 测试用,上线后删除

3. 确保权限配置正确

修正路径后,确认以下权限设置:

  • 给C:\xampp\htdocs\users文件夹添加Apache运行用户的读写权限:
    打开文件夹属性 → 安全 → 编辑 → 添加用户(XAMPP的Apache默认运行用户通常是SYSTEM,如果你修改过配置则是你设置的hostname用户),赋予该用户读取、写入、修改权限
  • 确认C:\xampp\tmp文件夹(PHP临时上传目录)也有相同用户的读写权限

4. 修正Apache配置错误

你之前的Apache Directory配置用了Unix风格路径,Windows下需改为Windows风格:

<Directory "C:/xampp/htdocs/users">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

另外,unixd_module是Unix系统专属模块,Windows下Apache不会加载,你修改的User/Group配置无效,可直接删除这段内容。

最终修改后的代码示例

<?php
session_start();

if (!isset($_SESSION['username'])) {
    header("Location: login");
    exit();
}

$user_id = isset($_POST['user_id']) ? $_POST['user_id'] : '-1';

// 使用DOCUMENT_ROOT确保路径正确
$targetDir = $_SERVER['DOCUMENT_ROOT'] . '/users/';

if (isset($_FILES["profilePicture"])) {
    $file = $_FILES["profilePicture"];
    $fileName = $user_id . ".png";
    $targetFilePath = $targetDir . $fileName;

    // 可选:自动创建不存在的目标目录
    if (!is_dir($targetDir)) {
        mkdir($targetDir, 0777, true);
    }

    if (move_uploaded_file($file["tmp_name"], $targetFilePath)) {
        echo "La imagen de perfil se ha guardado correctamente.";
    } else {
        echo "Error al guardar la imagen de perfil.";
    }
} else {
    echo "No se ha seleccionado ninguna imagen.";
}
?>

内容的提问来源于stack exchange,提问作者c mou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 11:05:19