我的网站在文件上传这块,出现了一个奇怪的问题。在后台上传文件的时候,在服务器上找不到$_FILE['name']['tm_name']文件,使用file_exists和open都返回false,说明文件真的不存在,但是使用move_uploaded_file
来移动临时文件时,确有能够正常移动,本来是在move_uploaded_file函数之前进行了文件类型判断,结果由于这个问题,导致不管上传什么文件,都会提示类型不对...
有没有人遇到过这样的问题啊。改怎么解决呢,没有头绪啊!

解决方案 »

  1.   

    网站用thinkphp做的,所以文件上传调用的thinkphp提供的类。之前都好好的,最近才出现这个问题,不知道是不是服务器上环境配置的问题
      

  2.   

    $_FILE['name']['tm_name']?
    你确认你没有打错?是$_FILE['name']['tmp_name']好不好
      

  3.   


    这是我发帖的时候少敲了一个,代码中是没问题的,大家不要抠字眼,代码是thinkphp的,没问题的。临时文件的名字是有的,只是硬盘上找不到这个文件,而且file_exists($_FILE['name']['tmp_name'])返回false.
      

  4.   

    file_exists($_FILES['name']['tmp_name'])
    少了个 S ,不是我抠字眼吧?
      

  5.   

    既然你说之前都是好好的,确定最近没改代码吗,你试着清楚清楚一下thinkphp  中你项目的_runtime文件夹试一下。不过清除之前先备份哦。以前我遇到过类似的问题就是清除,项目中的_runtime夹文件。它自动会重新生成的。
      

  6.   


    这两位哥子,我都说了不会是拼写问题了,只是因为我在发贴的时候手头没得代码,没粘贴上来,就随手打了一些,只是为了迎合一下我要表达的意思而已,不小心敲错了..要是真是因为敲错的问题,那应该早就报错了啊,更何况之前还运行得好好的....删除了runtime文件也不行,个人觉得极有可能和环境配置有关,但是找不出具体的原因