fck上传图片增加水印代码修改
发布:smiling 来源: PHP粉丝网 添加日期:2014-09-09 15:42:28 浏览: 评论:0
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.com
- 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.com.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 ;
- }?>
Tags: fck上传图片 fck增加水印
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)