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 ) ;
while ( $sfile = readdir( $ocurrentfolder ) )
{
if ( $sfile != '.' && $sfile != '..' && is_dir( $sserverdir . $sfile ) )
$afolders[] = '
}
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[] = '
else
{
$ifilesize = @filesize( $sserverdir . $sfile ) ;
if ( !$ifilesize ) {
$ifilesize = 0 ;
}
if ( $ifilesize > 0 )
{
$ifilesize = round( $ifilesize / 1024 ) ;
if ( $ifilesize }
$afiles[] = '
}
}
}
// 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 '
}
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="php100.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 ;
}?>