//继续
  //rename object
  function rename($from,$to){
    if(file_exists($this->root_dir."/".$this->cwd."/".$to)){
      $this->error("Object <b>&quot;".$this->root_dir."/".$this->cwd."/".$to."&quot;</b> already exists!");
      return false;
    }elseif(!ftp_rename($this->con_id,$from,$to)){
      $this->error("Cannot rename object <b>&quot;".$this->root_dir."/".$this->cwd."/".$to."&quot;</b>");
      return false;
    }
    return true;
  }  //kill file or empty directory
  function del($obj){
    if(is_dir($this->root_dir."/".$this->cwd."/".$obj)){
      if(!ftp_rmdir($this->con_id, $obj)){
        $this->error("Cannot delete directory <b>&quot;".$this->root_dir."/".$this->cwd."/".$obj."&quot;</b>");
        return false;
      }
    }elseif(is_file($this->root_dir."/".$this->cwd."/".$obj)){
      if(!ftp_delete($this->con_id, $obj)){
        $this->error("Cannot delete file <b>&quot;".$this->root_dir."/".$this->cwd."/".$obj."&quot;</b>");
        return false;
      }
    }else{
      $this->error("Removing object <b>&quot;".$this->root_dir."/".$this->cwd."/".$obj."&quot;</b> canceled!");
      return false;
    }
    return true;
  }  //write into file
  function write($dest,$FILEDATA){
    if(!WIN){
      $old_perm=$this->get_perm($dest,'i');
      $this->set_perm($dest,"666");
    }
    $fd=fopen($this->root_dir."/".$this->cwd."/".$dest,"w");
    if(!fwrite($fd,$FILEDATA)){
      $this->error("Cannot write file <b>&quot;".$this->root_dir."/".$this->cwd."/".$dest."&quot;</b>");
      fclose($fd);
      if(!WIN)$this->set_perm($dest,"644");
      return false;
    }
    fclose($fd);
    if(!WIN)$this->set_perm($dest,"644");
    return true;
  }  //move uploaded file from TMP into CWD
  function move_uploaded_file($file_to_move,$file_name){
    srand((double)microtime()*1000000);
    if(!$tmp_dir=get_cfg_var('upload_tmp_dir'))$tmp_dir=dirname(tempnam('',''));
    $tmpfile=$tmp_dir."/phpftptmp.".rand();
    if(!copy($file_to_move,$tmpfile)){
      $this->error("Can't create temp file?");
      unlink($file_to_move);
      return false;
    }elseif(!ftp_put($this->con_id,$this->cwd."/".$file_name,$tmpfile,$this->FTP_MODE)){
      $this->error("Can't write file <b>&quot;".$this->root_dir."/".$this->cwd."/".$file_name."&quot;</b>");
      unlink($file_to_move);
      unlink($tmpfile);
      return false;
    }
    unlink($file_to_move);
    unlink($tmpfile);
    return true;
  }  //return access right of an object, at various formats
  function get_perm($obj,$type='i'){
    $num=fileperms($obj);
    $s=array(07=>'rwx',06=>'rw-',05=>'r-x',04=>'r--',03=>'-wx',02=>'-w-',01=>'--x',00=>'---');
    $i=array(07=>'7',06=>'6',05=>'5',04=>'4',03=>'3',02=>'2',01=>'1',00=>'0');
    $b=array(
      07=>array(1,1,1),
      06=>array(1,1,0),
      05=>array(1,0,1),
      04=>array(1,0,0),
      03=>array(0,1,1),
      02=>array(0,1,0),
      01=>array(0,0,1),
      00=>array(0,0,0)
    );
    switch($type){
      case 'b':
        $ret['o']=$b[($num & 0700)>>6];
        $ret['g']=$b[($num &  070)>>3];
        $ret['a']=$b[($num &   07)   ];
        break;
      case 's':
        if($num & 0x1000)     $ret ='p';//FIFO pipe
        elseif($num & 0x2000) $ret.='c';//Character special
        elseif($num & 0x4000) $ret.='d';//Directory
        elseif($num & 0x6000) $ret.='b';//Block special
        elseif($num & 0x8000) $ret.='-';//Regular
        elseif($num & 0xA000) $ret.='l';//Symbolic Link
        elseif($num & 0xC000) $ret.='s';//Socket
        else $str.='?'; //UNKNOWN
        $ret.=$s[($num & 0700)>>6];
        $ret.=$s[($num &  070)>>3];
        $ret.=$s[($num &   07)   ];
        break;
      case 'i':
        $ret =$i[($num & 0700)>>6];
        $ret.=$i[($num &  070)>>3];
        $ret.=$i[($num &   07)   ];
        break;
    }
    return $ret;
  }  //print dir file list
  function dir_list(){
    //ftp_nlist ?Returns a list of files in the given directory.
    //ftp_rawlist ?Returns a detailed list of files in the given directory. 
    ?><table border=1 cellpadding=3 cellspacing=0><tr><td>Directories</td><td>Files</td></tr><?
  $contents=ftp_nlist($this->con_id, $this->cwd);
    $d_i=0;
    $f_i=0;
    sort($contents);
    for($i=0;$i<count($contents);$i++){
      $file_size=ftp_size($this->con_id,$contents[$i]);
      if(is_dir($this->root_dir.$contents[$i])){
        $nlist_dirs[$d_i]=$contents[$i];
        $d_i++;
      }else{
        $nlist_files[$f_i]=$contents[$i];
        $nlist_filesize[$f_i]=$file_size;
        $f_i++;
      }
    }
    ?><tr><td><pre><?
    for($i=0;$i<count($nlist_dirs);$i++)echo $nlist_dirs[$i]."<br>";
    ?></td><td><pre><?
    for($i=0;$i<count($nlist_files);$i++)echo $nlist_files[$i]." ".(int)$nlist_filesize[$f_i]."<br>";
    ?></td></tr></table><?
  }
}//end class/*
$FTP_HOST="localhost";
$FTP_USER="";
$FTP_PW="";
$FTP_ROOT_DIR="";$obj->ftp=new php_ftp_class($FTP_USER,$FTP_PW,$FTP_HOST,$FTP_ROOT_DIR);
$obj->dir_list();
*/
?>

解决方案 »

  1.   

    //继续
      //rename object
      function rename($from,$to){
        if(file_exists($this->root_dir."/".$this->cwd."/".$to)){
          $this->error("Object <b>&quot;".$this->root_dir."/".$this->cwd."/".$to."&quot;</b> already exists!");
          return false;
        }elseif(!ftp_rename($this->con_id,$from,$to)){
          $this->error("Cannot rename object <b>&quot;".$this->root_dir."/".$this->cwd."/".$to."&quot;</b>");
          return false;
        }
        return true;
      }  //kill file or empty directory
      function del($obj){
        if(is_dir($this->root_dir."/".$this->cwd."/".$obj)){
          if(!ftp_rmdir($this->con_id, $obj)){
            $this->error("Cannot delete directory <b>&quot;".$this->root_dir."/".$this->cwd."/".$obj."&quot;</b>");
            return false;
          }
        }elseif(is_file($this->root_dir."/".$this->cwd."/".$obj)){
          if(!ftp_delete($this->con_id, $obj)){
            $this->error("Cannot delete file <b>&quot;".$this->root_dir."/".$this->cwd."/".$obj."&quot;</b>");
            return false;
          }
        }else{
          $this->error("Removing object <b>&quot;".$this->root_dir."/".$this->cwd."/".$obj."&quot;</b> canceled!");
          return false;
        }
        return true;
      }  //write into file
      function write($dest,$FILEDATA){
        if(!WIN){
          $old_perm=$this->get_perm($dest,'i');
          $this->set_perm($dest,"666");
        }
        $fd=fopen($this->root_dir."/".$this->cwd."/".$dest,"w");
        if(!fwrite($fd,$FILEDATA)){
          $this->error("Cannot write file <b>&quot;".$this->root_dir."/".$this->cwd."/".$dest."&quot;</b>");
          fclose($fd);
          if(!WIN)$this->set_perm($dest,"644");
          return false;
        }
        fclose($fd);
        if(!WIN)$this->set_perm($dest,"644");
        return true;
      }  //move uploaded file from TMP into CWD
      function move_uploaded_file($file_to_move,$file_name){
        srand((double)microtime()*1000000);
        if(!$tmp_dir=get_cfg_var('upload_tmp_dir'))$tmp_dir=dirname(tempnam('',''));
        $tmpfile=$tmp_dir."/phpftptmp.".rand();
        if(!copy($file_to_move,$tmpfile)){
          $this->error("Can't create temp file?");
          unlink($file_to_move);
          return false;
        }elseif(!ftp_put($this->con_id,$this->cwd."/".$file_name,$tmpfile,$this->FTP_MODE)){
          $this->error("Can't write file <b>&quot;".$this->root_dir."/".$this->cwd."/".$file_name."&quot;</b>");
          unlink($file_to_move);
          unlink($tmpfile);
          return false;
        }
        unlink($file_to_move);
        unlink($tmpfile);
        return true;
      }  //return access right of an object, at various formats
      function get_perm($obj,$type='i'){
        $num=fileperms($obj);
        $s=array(07=>'rwx',06=>'rw-',05=>'r-x',04=>'r--',03=>'-wx',02=>'-w-',01=>'--x',00=>'---');
        $i=array(07=>'7',06=>'6',05=>'5',04=>'4',03=>'3',02=>'2',01=>'1',00=>'0');
        $b=array(
          07=>array(1,1,1),
          06=>array(1,1,0),
          05=>array(1,0,1),
          04=>array(1,0,0),
          03=>array(0,1,1),
          02=>array(0,1,0),
          01=>array(0,0,1),
          00=>array(0,0,0)
        );
      

  2.   

    //go on
        switch($type){
          case 'b':
            $ret['o']=$b[($num & 0700)>>6];
            $ret['g']=$b[($num &  070)>>3];
            $ret['a']=$b[($num &   07)   ];
            break;
          case 's':
            if($num & 0x1000)     $ret ='p';//FIFO pipe
            elseif($num & 0x2000) $ret.='c';//Character special
            elseif($num & 0x4000) $ret.='d';//Directory
            elseif($num & 0x6000) $ret.='b';//Block special
            elseif($num & 0x8000) $ret.='-';//Regular
            elseif($num & 0xA000) $ret.='l';//Symbolic Link
            elseif($num & 0xC000) $ret.='s';//Socket
            else $str.='?'; //UNKNOWN
            $ret.=$s[($num & 0700)>>6];
            $ret.=$s[($num &  070)>>3];
            $ret.=$s[($num &   07)   ];
            break;
          case 'i':
            $ret =$i[($num & 0700)>>6];
            $ret.=$i[($num &  070)>>3];
            $ret.=$i[($num &   07)   ];
            break;
        }
        return $ret;
      }  //print dir file list
      function dir_list(){
        //ftp_nlist ?Returns a list of files in the given directory.
        //ftp_rawlist ?Returns a detailed list of files in the given directory. 
        ?><table border=1 cellpadding=3 cellspacing=0><tr><td>Directories</td><td>Files</td></tr><?
      $contents=ftp_nlist($this->con_id, $this->cwd);
        $d_i=0;
        $f_i=0;
        sort($contents);
        for($i=0;$i<count($contents);$i++){
          $file_size=ftp_size($this->con_id,$contents[$i]);
          if(is_dir($this->root_dir.$contents[$i])){
            $nlist_dirs[$d_i]=$contents[$i];
            $d_i++;
          }else{
            $nlist_files[$f_i]=$contents[$i];
            $nlist_filesize[$f_i]=$file_size;
            $f_i++;
          }
        }
        ?><tr><td><pre><?
        for($i=0;$i<count($nlist_dirs);$i++)echo $nlist_dirs[$i]."<br>";
        ?></td><td><pre><?
        for($i=0;$i<count($nlist_files);$i++)echo $nlist_files[$i]." ".(int)$nlist_filesize[$f_i]."<br>";
        ?></td></tr></table><?
      }
    }//end class/*
    $FTP_HOST="localhost";
    $FTP_USER="";
    $FTP_PW="";
    $FTP_ROOT_DIR="";$obj->ftp=new php_ftp_class($FTP_USER,$FTP_PW,$FTP_HOST,$FTP_ROOT_DIR);
    $obj->dir_list();
    */
    ?>
      

  3.   

    gaoxiulan(秀兰) 你怎么不快乐了???可能是有很多月饼吃,开始发觉是甜的,好好吃.好吃是好吃,但是吃多,,,,,,,,,,就会fat,呵呵就不快乐了.我猜对了没有?
      

  4.   

    楼主哥哥不要难过了.去年我还没有BF也,今年也没有,55,我比你悲惨多了.连想的人都没有一个,晕.给我点分安慰一下我嘛.接fen.