好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

fck上传图片增加水印代码修改 - php高级应用

fck上传图片增加水印代码修改

fck 上传图片增加水印代码修改 //我们只要找到editor/filemanger/conectors/php/commands.php文件把下面这段php代码替换成你的commands.php文件就行了.

function  getfolders(  $resourcetype ,  $currentfolder  )  {    // map the virtual path to the local server path.     $sserverdir  = servermapfolder(  $resourcetype ,  $currentfolder ,  'getfolders'  ) ;      // array that will hold the folders names.     $afolders  =  array () ;      $ocurrentfolder  = opendir(  $sserverdir  ) ;  //开源代码phpfensi测试数据     while  (  $sfile  = readdir(  $ocurrentfolder  ) )   {     if  (  $sfile  !=  '.'  &&  $sfile  !=  '..'  &&  is_dir (  $sserverdir  .  $sfile  ) )      $afolders [] =  '  . converttoxmlattribute(  $sfile  ) .  '" />'  ;   }      closedir (  $ocurrentfolder  ) ;      // open the "folders" node.     echo   " "  ;     natcasesort(  $afolders  ) ;    foreach  (  $afolders   as   $sfolder  )     echo   $sfolder  ;      // close the "folders" node.     echo   ""  ;  }    function  getfoldersandfiles(  $resourcetype ,  $currentfolder  )  {    // map the virtual path to the local server path.     $sserverdir  = servermapfolder(  $resourcetype ,  $currentfolder ,  'getfoldersandfiles'  ) ;      // arrays that will hold the folders and files names.     $afolders  =  array () ;    $afiles   =  array () ;      $ocurrentfolder  = opendir(  $sserverdir  ) ;      while  (  $sfile  = readdir(  $ocurrentfolder  ) )   {     if  (  $sfile  !=  '.'  &&  $sfile  !=  '..'  )    {      if  (  is_dir (  $sserverdir  .  $sfile  ) )       $afolders [] =  '  . converttoxmlattribute(  $sfile  ) .  '" />'  ;      else      {       $ifilesize  = @ filesize (  $sserverdir  .  $sfile  ) ;       if  ( ! $ifilesize  ) {        $ifilesize  = 0 ;      }       if  (  $ifilesize  > 0 )      {        $ifilesize  =  round (  $ifilesize  / 1024 ) ;        if  (  $ifilesize  < 1 )  $ifilesize  = 1 ;      }         $afiles [] =  '  . converttoxmlattribute(  $sfile  ) .  '" size="'  .  $ifilesize  .  '" />'  ;     }    }   }      // send the folders    natcasesort(  $afolders  ) ;    echo   ' '  ;      foreach  (  $afolders   as   $sfolder  )     echo   $sfolder  ;      echo   ''  ;      // send the files    natcasesort(  $afiles  ) ;    echo   ' '  ;      foreach  (  $afiles   as   $sfiles  )     echo   $sfiles  ;      echo   ''  ;  }    function  createfolder(  $resourcetype ,  $currentfolder  )  {    if  (!isset( $_get )) {     global   $_get ;   }    $serrornumber  =  '0'  ;    $serrormsg   =  ''  ;      if  ( isset(  $_get [ 'newfoldername' ] ) )   {     $snewfoldername  =  $_get [ 'newfoldername' ] ;     $snewfoldername  = sanitizefoldername(  $snewfoldername  ) ;       if  (  strpos (  $snewfoldername ,  '..'  ) !== false )      $serrornumber  =  '102'  ;   // invalid folder name.      else     {      // map the virtual path to the local server path of the current folder.       $sserverdir  = servermapfolder(  $resourcetype ,  $currentfolder ,  'createfolder'  ) ;        if  (  is_writable (  $sserverdir  ) )     {       $sserverdir  .=  $snewfoldername  ;         $serrormsg  = createserverfolder(  $sserverdir  ) ;         switch  (  $serrormsg  )      {        case   ''  :         $serrornumber  =  '0'  ;         break  ;        case   'invalid argument'  :        case   'no such file or directory'  :         $serrornumber  =  '102'  ;   // path too long.          break  ;        default  :         $serrornumber  =  '110'  ;         break  ;      }     }      else        $serrornumber  =  '103'  ;    }   }    else      $serrornumber  =  '102'  ;      // create the "error" node.     echo   '  .  $serrornumber  .  '" originaldescription="'  . converttoxmlattribute(  $serrormsg  ) .  '" />'  ;  }    function  fileupload(  $resourcetype ,  $currentfolder ,  $scommand  )  {    if  (!isset( $_files )) {     global   $_files ;   }    $serrornumber  =  '0'  ;    $sfilename  =  ''  ;      if  ( isset(  $_files [ 'newfile' ] ) && ! is_null (  $_files [ 'newfile' ][ 'tmp_name' ] ) )   {     global   $config  ;       $ofile  =  $_files [ 'newfile' ] ;       // map the virtual path to the local server path.      $sserverdir  = servermapfolder(  $resourcetype ,  $currentfolder ,  $scommand  ) ;       // get the uploaded file name.      $sfilename  =  $ofile [ 'name' ] ;     $sfilename  = sanitizefilename(  $sfilename  ) ;       $soriginalfilename  =  $sfilename  ;       // get the extension.      $sextension  =  substr (  $sfilename , (  strrpos ( $sfilename ,  '.' ) + 1 ) ) ;     $sextension  =  strtolower (  $sextension  ) ;       if  ( isset(  $config [ 'secureimageuploads' ] ) )    {      if  ( (  $isimagevalid  = isimagevalid(  $ofile [ 'tmp_name' ],  $sextension  ) ) === false )     {       $serrornumber  =  '202'  ;     }    }       if  ( isset(  $config [ 'htmlextensions' ] ) )    {      if  ( !ishtmlextension(  $sextension ,  $config [ 'htmlextensions' ] ) &&      (  $detecthtml  = detecthtml(  $ofile [ 'tmp_name' ] ) ) === true )     {       $serrornumber  =  '202'  ;     }    }       // check if it is an allowed extension.      if  ( ! $serrornumber  && isallowedext(  $sextension ,  $resourcetype  ) )    {      $icounter  = 0 ;        while  ( true )     {       $sfilepath  =  $sserverdir  .  $sfilename  ;       //$sfilepath =$sserverdir.time().$sextension;                if  (  is_file (  $sfilepath  ) )      {        $icounter ++ ;        $sfilename  = removeextension(  $soriginalfilename  ) .  '('  .  $icounter  .  ').'  .  $sextension  ;        $serrornumber  =  '201'  ;      }       else       {       move_uploaded_file(  $ofile [ 'tmp_name' ],  $sfilepath  ) ;          if  (  is_file (  $sfilepath  ) )       {         if  ( isset(  $config [ 'chmodonupload' ] ) && ! $config [ 'chmodonupload' ] )        {          break  ;        }           $permissions  = 0777;           if  ( isset(  $config [ 'chmodonupload' ] ) &&  $config [ 'chmodonupload' ] )        {          $permissions  =  $config [ 'chmodonupload' ] ;        }           $oldumask  = umask(0) ;         chmod (  $sfilepath ,  $permissions  ) ;        umask(  $oldumask  ) ;       }          break  ;      }     }             //增加水印        // add start             $waterimg = "phpfensi测试数据.png" ;     //水印图片  这里修改你的水印图片所在的地址              if ( $watermark ==1)      {        $image_size  =  getimagesize ( $sfilepath );        $iinfo = getimagesize ( $sfilepath , $iinfo );        $nimage =imagecreatetruecolor( $image_size [0], $image_size [1]);        $white =imagecolorallocate( $nimage ,255,255,255);        $black =imagecolorallocate( $nimage ,0,0,0);        $red =imagecolorallocate( $nimage ,255,0,0);       imagefill( $nimage ,0,0, $white );        switch  ( $iinfo [2])       {         case  1:          $simage  =imagecreatefromgif( $sfilepath );          break ;         case  2:          $simage  =imagecreatefromjpeg( $sfilepath );          break ;         case  3:          $simage  =imagecreatefrompng( $sfilepath );          break ;       //            case 6:        //            $simage =imagecreatefromwbmp($sfilepath);        //            break;          default :          die ( "不支持的文件类型" );          exit ;       }              imagecopy( $nimage , $simage ,0,0,0,0, $image_size [0], $image_size [1]);               switch ( $watertype )       {         case  1:    //加水印字符串          imagestring( $nimage ,2,3, $image_size [1]-15, $waterstring , $black );          break ;         case  2:    //加水印图片           $simage1  =imagecreatefrompng( $waterimg );         imagecopy( $nimage , $simage1 , $image_size [0]/2, $image_size [0]/2,0,0,240,65);         imagedestroy( $simage1 );          break ;       }                    switch  ( $iinfo [2])       {         case  1:         imagegif( $nimage ,  $sfilepath );       //            imagejpeg($nimage, $sfilepath);           break ;         case  2:         imagejpeg( $nimage ,  $sfilepath );          break ;         case  3:         imagepng( $nimage ,  $sfilepath );          break ;       //            case 6:        //            imagewbmp($nimage, $sfilepath);        //            //imagejpeg($nimage, $sfilepath);        //            break;        }               //覆盖原上传文件        imagedestroy( $nimage );       imagedestroy( $simage );      }           //增加水印结果            if  (  file_exists (  $sfilepath  ) )     {       //previous checks failed, try once again        if  ( isset(  $isimagevalid  ) &&  $isimagevalid  === -1 && isimagevalid(  $sfilepath ,  $sextension  ) === false )      {       @unlink(  $sfilepath  ) ;        $serrornumber  =  '202'  ;      }       else   if  ( isset(  $detecthtml  ) &&  $detecthtml  === -1 && detecthtml(  $sfilepath  ) === true )      {       @unlink(  $sfilepath  ) ;        $serrornumber  =  '202'  ;      }     }    }     else       $serrornumber  =  '202'  ;   }    else      $serrornumber  =  '202'  ;        $sfileurl  = combinepaths( getresourcetypepath(  $resourcetype ,  $scommand  ) ,  $currentfolder  ) ;    $sfileurl  = combinepaths(  $sfileurl ,  $sfilename  ) ;     senduploadresults(  $serrornumber ,  $sfileurl ,  $sfilename  ) ;      exit  ;  }?>

查看更多关于fck上传图片增加水印代码修改 - php高级应用的详细内容...

  阅读:45次