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

PHP move_uploaded_file本地正常服务器报错(错误码6)求助

解决PHP文件上传错误码6(临时文件夹不存在)的问题

首先明确:错误码6对应UPLOAD_ERR_NO_TMP_DIR,说明PHP无法找到处理上传文件的临时目录——你手动创建的temp文件夹没用,因为PHP默认使用配置指定的临时目录,你没告知它要使用你新建的这个目录。

排查与解决步骤:

  1. 确认PHP当前的临时目录
    新建一个info.php文件,内容如下:

    <?php phpinfo(); ?>
    

    上传到服务器并访问,查找upload_tmp_dir项,查看PHP当前配置的临时目录。如果该项为空,说明PHP使用系统默认临时目录,但这个目录可能不存在或权限不足。

  2. 指定PHP使用你创建的临时目录
    有两种可行方式:

    • 代码内临时设置:在上传代码最开头添加一行,将临时目录指向你创建的temp文件夹(必须用绝对路径,避免相对路径出错):
      // 替换为服务器上temp文件夹的绝对路径,比如网站根目录下的temp
      ini_set('upload_tmp_dir', $_SERVER['DOCUMENT_ROOT'] . '/temp/');
      
      同时确保temp文件夹权限设置为755(比777更安全,PHP进程需具备读写权限)。
    • 创建自定义配置文件:如果服务器允许,在网站根目录新建php.ini(共享主机可能需用.user.ini),添加一行:
      upload_tmp_dir = /你的服务器绝对路径/temp/
      
      例如网站根目录为/var/www/html,则路径写为/var/www/html/temp/。
  3. 修正目标上传目录的路径
    代码中$targetFolder = 'uploads/';使用的是相对路径,服务器上脚本的执行目录可能与本地不同,易导致路径错误。改为绝对路径更稳妥:

    $targetFolder = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
    

    同样确保uploads文件夹权限为755。

  4. 调整权限的安全建议
    不要使用777权限,这会带来严重安全风险。755权限(所有者读/写/执行,组和其他读/执行)足够PHP进程读写文件夹,同时避免恶意访问。

补充说明

服务器上没有php.ini文件是正常情况——很多共享主机不会暴露默认配置文件,但你可以自行创建自定义配置文件覆盖默认设置,只要服务器支持即可。

内容的提问来源于stack exchange,提问作者Görkem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 11:43:09