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

PHP7.1.4(Ionic2后端)FTP服务器创建目录位置不符问题求助

解决PHP脚本创建文件夹路径错误的问题

嘿,我来帮你搞定这个文件夹路径跑偏的问题!核心原因其实是PHP里的相对路径容易“找错家”——它默认基于当前工作目录,而不是你脚本所在的目录,这也是很多开发者踩过的坑。

第一步:先搞清楚脚本的真实位置

先在你的directory.php里加几行代码,确认脚本所在的绝对路径,这样咱们就有了准确的基准:

// 打印当前脚本文件的完整路径
echo "脚本路径:" . __FILE__ . "<br>";
// 打印脚本所在的目录(PHP 5.3+支持,PHP7完全兼容)
echo "脚本所在目录:" . __DIR__ . "<br>";

运行后你会看到__DIR__输出的就是你要的home/user/public_html/folder/php/uploads/,这就是咱们的目标基准目录。

第二步:用绝对路径创建images文件夹

直接用__DIR__拼接目标路径,这样就不会再跑偏了,替换你原来的创建代码:

// 拼接出uploads目录下images文件夹的绝对路径
$targetFolder = __DIR__ . '/images';

// 先检查文件夹是否已经存在,避免重复创建的提示误导
if (!is_dir($targetFolder)) {
    // mkdir第三个参数设为true,支持递归创建(这里虽然不需要,但留着更稳妥)
    if (mkdir($targetFolder, 0755, true)) {
        echo "Successfully created images";
    } else {
        echo "Failed to create images folder";
        // 打印错误信息方便排查问题
        echo "Error: " . error_get_last()['message'];
    }
} else {
    echo "Images folder already exists";
}

为什么之前会跑偏?

你之前的代码应该是用了相对路径(比如mkdir('images')),这时候PHP会基于Web服务器的当前工作目录来创建文件夹,而这个目录不一定是你脚本所在的uploads目录。比如如果服务器的工作目录是home/user/public_html/folder/php/,那相对路径就会把images创建到php目录下,而不是uploads里——这就是你遇到的问题根源。

额外提醒

  • 权限要到位:确保Web服务器的运行用户(比如www-data)对uploads目录有写权限,0755的权限设置一般是合适的,既保证安全又能正常读写。
  • 别依赖getcwd():这个函数返回的是当前工作目录,会随着执行环境变化而改变,远不如__DIR__可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:41:57