源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

windows下使用IIS配置的PHP无法上传文件的解决方法

  • 时间:2021-05-20 11:55 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:windows下使用IIS配置的PHP无法上传文件的解决方法
延续《!@move_uploaded_file($f[%22tmp_name 代码如下:
// 检查是否有文件上传 if (! $_FILES['upload'.$num]['name'] == ""){ if ($_FILES['upload'.$num]['size'] < $max_size) { 1、 echo "文件上传路径:".$location.$_FILES['upload'.$num]['name']; 2、echo "文件临时文件名:".$_FILES['upload'.$num]['tmp_name']; 3、 move_uploaded_file($_FILES['upload'.$num]['tmp_name'],$location.$_FILES['upload'.$num]['name']) or $event = "Failure"; } else { $event = "File too large!"; }
其中正常代码中第2句是不存在的,为了测试方便我加上来的,它的主要目的就是测试我的php.ini没有设置upload_dir_tmp的值的时候,上传的文件临时保存在哪里的,经过这个测试发现原来在不配置php.ini的upload_dir_tmp的值的时候,默认的存储位置是在C:\windows\temp目录,并且临时文件是以.tmp为后缀存储的,该文件马上就会被删除,所以你想通过操作系统的文件修改搜索功能是无法找到的,也就无法找到upload_dir_tmp的默认路径是哪里。 既然找到了upload_dir_tmp的默认路径了,那么修改c:\windows\temp的访问权限,赋予IUSR_用户可写,重启动IIS Admin服务,上传文件,终于成功了。这就是为什么我的多台服务器upload_dir_tmp的值都为空的时候有的可传,有的不可传的原因。 现在已经修改了IIS使用环境变量方式精简配置php的那篇文章了,因为当时没有注意这个位置的权限设置,造成了如今的问题,不过最终解决也是好的。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部