PHP的move_uploaded_file()出错解决

PHP 专栏收录该内容
10 篇文章 0 订阅

今天用的PHP的move_uploaded_file方法保存前端上传的中文名称文件时,方法返回假,调试时错误码为2,错误信息为:

move_uploaded_file(D:\ git_prj \ xx \ think \ Public \ attachment / upload / staffworking年休假说明.docx):无法打开流:无效的参数。

在网上搜了下原因,LINUX下一般是由于目标目录没有写权限。但是我这个是窗口目录,不存在权限的问题,而且我开发时用数字命名的文件名,测试正常。再继续找原因,发现是中文编码的问题。保存文件时,需要将中文由UTF8转为GB2312,确实有点让人费解:(

$ attachment = $ _FILES ['attachment'];

$ name = iconv(“UTF-8”,“gb2312”,$ attachment ['name']);

move_uploaded_file($ attachment ['tmp_name'],DOCROOT。“attachment / upload / {$ name}”);

偷偷纠正一句,目标路径是可以用相对路径的

  • 1
    点赞
  • 0
    评论
  • 2
    收藏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:技术工厂 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值