fck 上传图片增加水印代码修改_PHP教程
fck 上传图片增加水印代码修改//我们只要找到editor/filemanger/conectors/php/commands.php文件把下面这段php代码替换成你的commands.php文件就行了。
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 ;
}?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

1. Ouvrez d’abord DingTalk. 2. Ouvrez la discussion de groupe et cliquez sur les trois points dans le coin supérieur droit. 3. Trouvez mon pseudo dans ce groupe. 4. Cliquez pour entrer pour modifier et enregistrer.

Avec le développement continu des médias sociaux, Xiaohongshu est devenue une plateforme permettant à de plus en plus de jeunes de partager leur vie et de découvrir de belles choses. De nombreux utilisateurs sont gênés par des problèmes de sauvegarde automatique lors de la publication d’images. Alors, comment résoudre ce problème ? 1. Comment résoudre le problème de l'enregistrement automatique des images lors de la publication sur Xiaohongshu ? 1. Vider le cache Tout d'abord, nous pouvons essayer de vider les données du cache de Xiaohongshu. Les étapes sont les suivantes : (1) Ouvrez Xiaohongshu et cliquez sur le bouton « Mon » dans le coin inférieur droit (2) Sur la page du centre personnel, recherchez « Paramètres » et cliquez dessus (3) Faites défiler vers le bas et recherchez « ; "Vider le cache". Cliquez sur OK. Après avoir vidé le cache, entrez à nouveau dans Xiaohongshu et essayez de publier des photos pour voir si le problème de sauvegarde automatique est résolu. 2. Mettez à jour la version Xiaohongshu pour vous assurer que votre Xiaohongshu

Vous voulez savoir comment ajouter un filigrane à MeituXiuXiu ? Meitu Xiuxiu est un logiciel de retouche photo très simple à utiliser. Il fournit des fonctions telles que découper des images et les placer sur une autre image, modifier la taille de l'image en Ko, supprimer les filigranes, modifier la couleur d'arrière-plan des photos d'identité et ajouter du temps. , les filigranes de date et de lieu en plein écran. Aidez les utilisateurs à terminer rapidement la production d'images. Certains utilisateurs ont créé leurs propres images et ne veulent pas que d’autres les volent. Ils veulent les recouvrir de leurs propres filigranes, mais ne savent pas comment faire ? L'éditeur va maintenant partager avec vous comment ajouter des filigranes à de belles images ! Si vous l'aimez, venez le télécharger ! 1. Comment ajouter un filigrane à de belles images ? Partagez comment ajouter un filigrane à de belles photos ! 1. Ouvrez la version 2023 de Meitu Xiu Xiu téléchargée depuis ce site. Version Meitu Xiu Xiu 2023 Catégorie : Photographie et embellissement Télécharger La version Meitu Xiu Xiu 2023 est un logiciel d'embellissement et d'édition d'images riche en fonctionnalités

Avec la popularité des courtes vidéos Douyin, les interactions des utilisateurs dans la zone de commentaires sont devenues plus colorées. Certains utilisateurs souhaitent partager des images en commentaires pour mieux exprimer leurs opinions ou émotions. Alors, comment publier des photos dans les commentaires TikTok ? Cet article répondra à cette question en détail et vous fournira quelques conseils et précautions connexes. 1. Comment publier des photos dans les commentaires Douyin ? 1. Ouvrez Douyin : Tout d'abord, vous devez ouvrir l'application Douyin et vous connecter à votre compte. 2. Recherchez la zone de commentaire : lorsque vous parcourez ou publiez une courte vidéo, recherchez l'endroit où vous souhaitez commenter et cliquez sur le bouton "Commentaire". 3. Saisissez le contenu de votre commentaire : saisissez le contenu de votre commentaire dans la zone de commentaire. 4. Choisissez d'envoyer une photo : Dans l'interface de saisie du contenu des commentaires, vous verrez un bouton « image » ou un bouton « + », cliquez sur

Afin de rendre les photos prises plus personnalisées et uniques, Xiaomi Mi 14 propose des paramètres de filigrane photo. En définissant des filigranes de photos, les utilisateurs peuvent ajouter des motifs, du texte et des logos aux photos qu'ils prennent, afin que chaque photo puisse mieux enregistrer des moments et des souvenirs précieux. Ensuite, nous présenterons comment définir un filigrane photo dans Xiaomi 14 pour rendre vos photos plus personnalisées et plus vives. Comment définir un filigrane photo sur Xiaomi Mi 14 ? 1. Cliquez d'abord sur « Caméra ». 2. Cliquez ensuite sur « Paramètres ». 3. Recherchez ensuite le filigrane et vous pourrez ensuite commencer la prise de vue.

Comment supprimer le texte de la copie d'évaluation dans le coin inférieur droit de win1124H2 ? Lorsque nous utilisons le système, le bureau affiche parfois un filigrane transparent dans le coin inférieur droit de l'écran. Alors, comment supprimer ce filigrane transparent ? Les utilisateurs peuvent utiliser directement un logiciel tiers pour fonctionner. Laissez ce site présenter soigneusement aux utilisateurs comment supprimer le filigrane sur la copie d'évaluation win1124H2. Pour supprimer le filigrane sur la copie d'évaluation win1124H2, téléchargez l'outil UniversalWatermarkDisabler. Après l'avoir exécuté, la version actuelle du système et l'état du filigrane seront affichés. Si « Prêt pour l'installation » s'affiche dans « Statut », il peut être supprimé.

1. Nous utilisons WPS pour ouvrir un document. Il contient un filigrane. Comment le supprimer ? Baisser les yeux. 2. Recherchez l'onglet Insérer dans la barre de menu, sélectionnez les icônes d'en-tête et de pied de page sous cet onglet et cliquez dessus avec le bouton gauche de la souris. 3. À ce stade, le texte sur la page devient gris et ne peut pas être modifié, mais le filigrane au dos du texte peut être modifié à ce moment. 4. Cliquez sur le filigrane, vous pouvez voir qu'il s'agit d'un filigrane d'image, car il y a plusieurs petits carrés autour de l'image et l'image peut être modifiée à ce moment-là. 5. Utilisez la touche Suppr du clavier pour supprimer l'image et vous pourrez voir que le filigrane a disparu. 6. Double-cliquez avec la souris sur la page pour quitter le mode d'édition de l'en-tête et du pied de page. Le texte de la page reprend sa couleur normale et peut être modifié, mais à ce stade, le filigrane sur la page a disparu. 7.

Dans PowerPoint, il est courant d'afficher les images une par une, ce qui peut être réalisé en définissant des effets d'animation. Ce guide détaille les étapes de mise en œuvre de cette technique, y compris la configuration de base, l'insertion d'images, l'ajout d'une animation et l'ajustement de l'ordre et du timing de l'animation. De plus, des paramètres et ajustements avancés sont fournis, tels que l'utilisation de déclencheurs, l'ajustement de la vitesse et de l'ordre de l'animation et la prévisualisation des effets d'animation. En suivant ces étapes et conseils, les utilisateurs peuvent facilement configurer les images pour qu'elles apparaissent les unes après les autres dans PowerPoint, améliorant ainsi l'impact visuel de la présentation et attirant l'attention du public.
