PHP调用JS函数
在PHP中调用JS函数有两种方法,分别是使用echo输出JS代码和使用Ajax技术。
1. 使用echo输出JS代码
PHP可以使用echo语句输出JS代码,从而调用JS函数。
示例代码:
```php
echo "";
?>
```
上面的代码使用echo输出了一个调用showMessage()函数的JS代码,运行后会在页面上弹出一个对话框,显示Hello World!。可以看到,在这个例子中,PHP直接输出了JS代码,这种方式比较简单,但是对于大型应用程序来说,稍微有些麻烦。
2. 使用Ajax技术
在PHP中可以使用Ajax技术,通过向服务器发送请求来调用JS函数。Ajax技术是一种异步通信技术,可以在页面不刷新的情况下向服务器发送请求,获取服务器返回的数据。下面是一个Ajax调用JS函数的例子。
示例代码:
```php
if(isset($_POST['action'])) {
$action = $_POST['action'];
switch ($action) {
case 'showMessage':
echo "";
break;
default:
break;
}
} else {
$html = <<
HTML;
echo $html;
}
?>
```
在这个例子中,在页面加载时,PHP输出了一段JS代码,在这段代码中调用了showMessage()函数。当用户点击按钮时,会调用callShowMessage()函数,通过Ajax技术向服务器发送请求,服务器收到请求后会调用showMessage()函数。
PHP水印函数
PHP中可以使用GD扩展库来实现水印功能,GD扩展库是一组处理图像的函数,支持多种图像格式。下面是一个使用GD库实现水印的例子。
示例代码:
```php
// 水印函数
function watermark($src, $watermark, $pos) {
$srcinfo = getimagesize($src);
switch ($srcinfo[2]) {
case 1:
$im = imagecreatefromgif($src);
break;
case 2:
$im = imagecreatefromjpeg($src);
break;
case 3:
$im = imagecreatefrompng($src);
break;
default:
return false;
}
$watermarkinfo = getimagesize($watermark);
switch ($watermarkinfo[2]) {
case 1:
$watermarkim = imagecreatefromgif($watermark);
break;
case 2:
$watermarkim = imagecreatefromjpeg($watermark);
break;
case 3:
$watermarkim = imagecreatefrompng($watermark);
break;
default:
return false;
}
$watermarkwidth = $watermarkinfo[0];
$watermarkheight = $watermarkinfo[1];
$watermarkx = $srcinfo[0] - $watermarkwidth - 10; // 10是水印离边缘的距离
$watermarky = $srcinfo[1] - $watermarkheight - 10;
switch ($pos) {
case 'top-left':
$watermarkx = 10;
$watermarky = 10;
break;
case 'top-right':
$watermarkx = $srcinfo[0] - $watermarkwidth - 10;
$watermarky = 10;
break;
case 'bottom-right':
$watermarkx = $srcinfo[0] - $watermarkwidth - 10;
$watermarky = $srcinfo[1] - $watermarkheight - 10;
break;
case 'center':
$watermarkx = ($srcinfo[0] - $watermarkwidth) / 2;
$watermarky = ($srcinfo[1] - $watermarkheight) / 2;
break;
default:
break;
}
imagecopy($im, $watermarkim, $watermarkx, $watermarky, 0, 0, $watermarkwidth, $watermarkheight);
switch ($srcinfo[2]) {
case 1:
imagegif($im, $src);
break;
case 2:
imagejpeg($im, $src);
break;
case 3:
imagepng($im, $src);
break;
default:
return false;
}
imagedestroy($im);
imagedestroy($watermarkim);
return true;
}
// 使用示例
$src = 'test.jpg'; // 原图
$watermark = 'watermark.png' // 水印图片
$pos = 'bottom-right'; // 水印位置
watermark($src, $watermark, $pos);
?>
```
在这个例子中,首先定义了一个水印函数watermark(),该函数接受三个参数,分别是原图路径、水印图片路径和水印位置。在函数中,先分别获取原图和水印图片的信息,根据不同的格式分别使用不同的函数创建图像对象。然后根据水印位置计算水印在原图中的位置,并使用imagecopy()函数将水印贴到原图上。最后根据原图的格式保存图片,并清理资源。
使用时,只需要调用watermark()函数,传递正确的参数,就能实现水印功能。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复