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

PHP move_uploaded_file跨IP存储文件报错:Invalid argument问题求助

跨IP服务器上传文件失败问题解决

问题场景

Web目录部署在192.168.120.3,需要将上传的图片存储到另一台IP(如192.168.164.5)的共享文件夹中,但执行上传代码时报错;而将文件存储到本地Web服务器(192.168.120.3)的共享目录时,代码可正常运行。

错误代码

$newname = $getFileName."-".date('YmdHis',time()).mt_rand().'.jpg';
$target =  '\\192.168.164.5\Common Pict\'.$newname;
$tmp = $val['tmp_name'];
                                    
move_uploaded_file($tmp, $target);

报错信息

move_uploaded_file(\192.168.164.5\Common Pict\m-20221206105651907307421.jpg): failed to open stream: Invalid argument

本地正常运行代码

$newname = $getFileName."-".date('YmdHis',time()).mt_rand().'.jpg';
$target =  '\\192.168.120.3\Common Pict\'.$newname;
$tmp = $val['tmp_name'];
                                    
move_uploaded_file($tmp, $target);

解决方案

  • 修正路径格式:PHP中单反斜杠会被解析为转义字符,导致共享路径无效。需改为以下两种格式之一:

    // 方案1:使用正斜杠
    $target = '//192.168.164.5/Common Pict/'.$newname;
    // 方案2:使用双反斜杠转义
    $target = '\\\\192.168.164.5\\Common Pict\\'.$newname;
    

    优先推荐正斜杠格式,避免转义逻辑出错。

  • 配置共享权限:Web服务器的运行用户(如IIS的IUSR账号、Apache的www-data账号)必须拥有192.168.164.5服务器上「Common Pict」共享文件夹的写入权限。需在目标服务器上调整共享权限,允许Web服务器用户访问并修改该目录。

  • 优化共享命名:共享文件夹名称含空格可能引发路径解析异常,建议将共享名改为无空格格式(如CommonPict),同时同步更新代码中的路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:20:46