我用php文件上传
使用move_upload_file(),
一上传文件就出错了,
出错的信息是
Warning: move_uploaded_file(F:\Server\www\): failed to open stream: Permission denied in F:\Server\www\eoool\finish\uploadimg.php on line 76 
Warning: move_uploaded_file(): Unable to move 'E:\WINDOWS\TEMP\php34.tmp' to 'F:\Server\www' in F:\Server\www\eoool\finish\uploadimg.php on line 76 文件 *****(****字节) 上传失败!
请问这是为什么?

解决方案 »

  1.   

    Warning: move_uploaded_file(F:\Server\www\): failed to open stream: Permission denied 
    警告:move_uploaded_file(女:\服务器\的www \):未能打开流:权限被拒绝
      

  2.   

    这个都不行,那就是权限问题了。
    if(function_exists("move_uploaded_file") && @move_uploaded_file($up_file,$savefilename)){
    @chmod($savefilename,0777);
    }elseif(@copy($up_file,$savefilename)){
    @chmod($savefilename,0777);
    }elseif(is_readable($up_file)){
    writeover($savefilename,readover($up_file));
    if(file_exists($savefilename)){
    @chmod($savefilename,0777);
    }
    }function writeover($filename,$data,$method="rb+",$iflock=1,$check=1,$chmod=1){
    touch($filename);
    $handle = fopen($filename,$method);
    $iflock && flock($handle,LOCK_EX);
    fwrite($handle,$data);
    $method=="rb+" && ftruncate($handle,strlen($data));
    fclose($handle);
    $chmod && @chmod($filename,0777);
    }
    function readover($filename,$method='rb',$readsize='D'){
    $filedata="";
    if(file_exists($filename)){
    $filesize = @filesize($filename);
    $readsize!='D' && $filesize = min($filesize,$readsize);
    $filedata = '';
    if ($handle = @fopen($filename,$method)) {
    flock($handle,LOCK_SH);
    $filedata = @fread($handle,$filesize);
    fclose($handle);
    }
    }
    return $filedata;
    }
      

  3.   


    楼上的,你那只能是自己的服务器了,一版的虚拟空间估计是不支持chmod(.....)咯
      

  4.   

    一个是你上传文件的Upload_dir在PHP.INI里有没有设置,另外就是文件夹的权限问题了。
      

  5.   

    move 'E:\WINDOWS\TEMP\php34.tmp' to 'F:\Server\www' to 'F:\Server\www' //文件名呢??应该是目标文件的完整路径。
      

  6.   

    问题已经找到,是因为IIS7.0中的rewrite功能没有打开,所以才这个样子。