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

本地XAMPP可正常传图,GoDaddy服务器无法上传求助

解决GoDaddy主机上PHP图片上传失败的问题

我完全理解你现在的困扰——本地XAMPP环境下图片上传功能运行得好好的,一部署到GoDaddy主机就失效了,而且已经尝试了删除move_uploaded_file、核对表结构这些方法还是没解决。下面我帮你梳理几个高概率的排查方向和解决方案:

1. 先排查目录拼写与权限问题

这是GoDaddy主机上最常见的上传失败原因:

  • 检查文件夹名称:你的代码里写的是domuents/img/,这是不是拼写错误?大概率应该是documents/img/吧?如果实际服务器上的文件夹名是documents,那这个笔误会直接导致找不到目标目录,上传自然失败。
  • 修改目录权限:通过GoDaddy的文件管理器找到上传目标文件夹,右键设置权限为755(文件夹权限,文件设为644)。如果测试时还是不行,可以临时设为777(仅限测试,之后一定要改回755保证安全),确认是否是权限问题。

2. 检查PHP上传配置限制

GoDaddy的默认PHP配置可能会限制文件上传的大小或类型:

  • 先在你的项目里创建一个phpinfo.php文件,内容如下:
    <?php phpinfo(); ?>
    
    访问这个文件,重点查看以下参数:
    • upload_max_filesize:确保这个值大于你要上传的文件大小(比如设为10M)
    • post_max_size:这个值必须比upload_max_filesize大(比如12M)
    • file_uploads:必须是On状态
  • 如果参数不符合要求,你可以通过两种方式修改:
    1. 登录GoDaddy主机控制面板,找到PHP设置界面直接调整
    2. 在项目根目录创建.user.ini文件,写入以下内容:
      upload_max_filesize = 10M
      post_max_size = 12M
      file_uploads = On
      

3. 修正代码中的细节问题

你的代码里有几个可以优化的点,可能是导致失败的原因:

  • 先判断并创建目标目录:在执行move_uploaded_file之前,先确认目录是否存在,不存在就递归创建:
    $targetDir = "documents/img/"; // 先修正拼写错误
    if (!file_exists($targetDir)) {
        mkdir($targetDir, 0755, true); // 递归创建多级目录
    }
    $uploadSuccess = move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetDir . $_FILES["fileToUpload"]["name"]);
    
  • 去掉不必要的转义:你用了addslashes处理图片二进制内容,但PDO的参数绑定已经会自动处理转义,手动添加反而可能导致问题,改成:
    $imagetmp = file_get_contents($_FILES['fileToUpload']['tmp_name']);
    
  • 检查数据库字段类型:mytmp字段要设置为LONGBLOB类型,如果是BLOB的话,存储大图片会溢出导致插入失败;imagename字段建议设为VARCHAR(255),确保能容纳完整的文件名。

4. 打开错误调试,定位具体问题

关闭error_reporting(0),打开错误提示,这样能直接看到具体的错误信息:

error_reporting(E_ALL);
ini_set('display_errors', 1);

同时,在move_uploaded_file之后添加错误检查:

if (!$uploadSuccess) {
    echo "文件上传失败,错误码:" . $_FILES["fileToUpload"]["error"];
    // 错误码对应含义:0=无错误,1=超过upload_max_filesize,2=超过表单限制,6=找不到临时目录,7=写入失败
}

按照上面的步骤逐一排查,大概率能找到问题所在。比如我遇到过很多GoDaddy用户都是因为目录拼写错误或者权限不够导致的上传失败。

内容的提问来源于stack exchange,提问作者Tareq Al-Sharqawi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 22:17:31