php tp3.2 去重方法,thinkPHP框架整合tcpdf插件操作示例

本文实例讲述了thinkphp框架整合tcpdf插件操作。分享给大家供大家参考,具体如下:

网上查了些关于tcpdf 使用教程,整合到tp的话,会有些小问题,由于基础还不是很扎实,花了点时间终于整合ok了。下面介绍步骤:

环境:

tp版本:tp3.2.2

tcpdf:tcpdf_6_2_3

步骤:

1. 将tcpdf_6_2_3.zip解压在web root目录下面,把examples文件夹下面的tcpdf_include.php文件拷贝到tcpdf文件夹下面,再把tcpdf/config/tcpdf_config.php内容替换成tcpdf/examples/config/tcpdf_config_alt.php中的内容

这里要注意的是:tcp_include.php中 $tcpdf_include_dirs数组要多添加一行:“realpath('./').'/tcpdf/tcpdf.php',”

2. 新建test.php

// include the main tcpdf library (search for installation path).

require_once('./tcpdf/tcpdf_include.php');

// create new pdf document

$pdf = new tcpdf(pdf_page_orientation, pdf_unit, pdf_page_format, true, 'utf-8', false);

// set document information

$pdf->setcreator(pdf_creator);

$pdf->setauthor('nicola asuni');

$pdf->settitle('tcpdf example');

$pdf->setsubject('tcpdf tutorial');

$pdf->setkeywords('tcpdf, pdf, example, test, guide');

// set default header data

$pdf->setheaderdata(pdf_header_logo, pdf_header_logo_width, pdf_header_title.' wisvalley', pdf_header_string);

// set header and footer fonts

$pdf->setheaderfont(array(pdf_font_name_main, '', pdf_font_size_main));

$pdf->setfooterfont(array(pdf_font_name_data, '', pdf_font_size_data));

// set default monospaced font

$pdf->setdefaultmonospacedfont(pdf_font_monospaced);

// set margins

$pdf->setmargins(pdf_margin_left, pdf_margin_top, pdf_margin_right);

$pdf->setheadermargin(pdf_margin_header);

$pdf->setfootermargin(pdf_margin_footer);

// set auto page breaks

$pdf->setautopagebreak(true, pdf_margin_bottom);

// set image scale factor

$pdf->setimagescale(pdf_image_scale_ratio);

// set some language-dependent strings (optional)

if (@file_exists(dirname(__file__).'/lang/eng.php')) {

require_once(dirname(__file__).'/lang/eng.php');

$pdf->setlanguagearray($l);

}

// ---------------------------------------------------------

// set font

//$pdf->setfont('helvetica', '', 20);

$pdf->setfont('stsongstdlight', '', 20);

// add a page

$pdf->addpage();

$txt = 'your content';

$pdf->write(0, $txt, '', 0, 'l', true, 0, false, false, 0);

$pdf->output('/var/www/example_038.pdf', 'i');//浏览器预览

//$pdf->output('example_038.pdf', 'f');//存储文件

//$pdf->output('example_038.pdf', 'd');//下载文件

这样就可以了。

下面说下我碰到的几个问题:

1.我把这些代码拷贝到tp控制器的某个方法里面报错:class 'home\controller\tcpdf' not found

解答:

$pdf = new tcpdf(pdf_page_orientation, pdf_unit, pdf_page_format, true, 'utf-8', false);

改成

$pdf = new \tcpdf(pdf_page_orientation, pdf_unit, pdf_page_format, true, 'utf-8', false);

对于tp3.2引入了命名空间,这个‘\'很重要

2.tcpdf error: unable to create output file: example_038.pdf

解答:$pdf->output('/var/www/example_038.pdf', 'i');路径要为据对路径。

附:tcpdf插件点击此处。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是基于ThinkPHP框架整合极光推送的示例代码: 1. 安装JPush SDK 使用composer安装JPush SDK: ``` composer require jpush/jpush ``` 2. 配置JPush 在ThinkPHP框架中,可以将JPush的配置信息写入到config目录下的jpush.php文件中,示例代码如下: ```php return [ 'app_key' => 'YOUR_APP_KEY', 'master_secret' => 'YOUR_MASTER_SECRET', ]; ``` 3. 创建JPushService类 在app/service目录下创建JPushService类,该类用于封装极光推送的相关操作。 ```php <?php namespace app\service; use JPush\Client as JPush; class JPushService { protected $jpush; public function __construct() { $config = config('jpush'); $this->jpush = new JPush($config['app_key'], $config['master_secret']); } // 发送通知 public function sendNotification($title, $content, $extras = [], $audience = 'all') { $notification = [ 'title' => $title, 'alert' => $content, ]; $message = [ 'title' => $title, 'msg_content' => $content, 'extras' => $extras, ]; $options = [ 'apns_production' => false, ]; $response = $this->jpush->push() ->setPlatform(['ios', 'android']) ->setAudience($audience) ->setNotification($notification) ->setMessage($message) ->setOptions($options) ->send(); return $response; } } ``` 4. 使用JPushService类发送推送 在控制器中使用JPushService类发送推送,示例代码如下: ```php <?php namespace app\controller; use app\service\JPushService; class PushController { public function send() { $title = '测试推送'; $content = '这是一条测试推送'; $extras = ['key1' => 'value1', 'key2' => 'value2']; $jpushService = new JPushService(); $response = $jpushService->sendNotification($title, $content, $extras); if ($response['http_code'] === 200) { return json(['code' => 0, 'message' => '推送成功']); } else { return json(['code' => -1, 'message' => '推送失败']); } } } ``` 以上就是基于ThinkPHP框架整合极光推送的示例代码。需要注意的是,示例代码中使用了JPush的免费版服务,如果需要使用更高级别的服务,需要进行相应的付费。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值