小编Xin*_*ang的帖子

无法使用tcpdf生成pdf

在我的网站上,用户可以打印(pdf)他接受的nda由于某种原因我无法显示pdf

这里的逻辑

首先重写规则

.htaccess
RewriteRule ^nda/?$ ndapdf.php?useSessionUser=1 [L]
Run Code Online (Sandbox Code Playgroud)

然后是PHP

<?php

$html = file_get_contents("/lib/nda.txt");
$html = str_replace("##user##", $_SESSION["currentUser"]);
$html = str_replace("##date##", date("Y-m-d h:i:s"));

require("/lib/web/tcpdf/config/lang/eng.php");
require("/lib/web/tcpdf/tcpdf.php");
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, "UTF-8", false);
$pdf->SetCreator("mysite");
$pdf->SetAuthor("author_name");
$pdf->SetTitle("NDA");
$pdf->SetSubject("Accepted NDA");

$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, "", PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, "", PDF_FONT_SIZE_DATA));

$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
$pdf->setLanguageArray(array("w_page" => ""));
$fontname = $p->addTTFfont("/fonts/AveriaSans-light.ttf", "TrueTypeUnicode", "", 32);
$pdf->SetFont("arial", "", 10);
$pdf->AddPage();
$pdf->writeHTML($html, true, false, true, false, "");
$pdf->lastPage();

$pdf->Output("/home/comp/pdf/nda/$currentUser.pdf", "F");
header("Content-Type: application/pdf\n");
read("/home/comp/pdf/nda/$currentUser.pdf");
Run Code Online (Sandbox Code Playgroud)

我得到:

"TCPDF错误:无法包含字体定义文件:AveriaSans-light"

字体是:ll/fonts /

-rw-r--r-- 1 root root …
Run Code Online (Sandbox Code Playgroud)

php pdf tcpdf

12
推荐指数
1
解决办法
1万
查看次数

在继续操作之前,如何强制网络用户阅读和检查NDA?

每次用户注册我们的网站时,我们都需要显示NDA(保密协议).为了继续,用户必须接受它.我的问题是我在所有页面中都有NDA,用户并没有真正阅读并接受(就像我们所做的那样).

我想要的是确保用户阅读NDA并接受它"阅读"它?

我现在拥有的是一个简单的jQuery验证,如果用户选中一个框并单击"接受".然后它进入下一页.

这就是我所拥有的

<script>
$(document).ready(function() {
 $('#go').click(function() {
  // check if checkbox is check and go to next page
  // i have this code
 });
});
</script>
<div>
full nda
<hr>
<input type=checkbox> <input type=button value=go id=go>
</div>
Run Code Online (Sandbox Code Playgroud)

我已经有了复选框和按钮的代码

我只是不希望用户盲目接受nda

谢谢

javascript jquery

9
推荐指数
1
解决办法
2330
查看次数

如何在PHP中实现双向链表?

我周五收到了一个面试问题,我认为我不及格了.问题是:

编写一个在PHP中处理双链表的类.

我理解这个概念,这是我给出的代码:

class element {
 private $current;
 public function __construct($e) {
  $this->current = $e;
 }
 // method
 // etc..
}

class doublelist
{
  private $prev;
  private $next;
  private $current;
  private $list;
  public function add(element $e) {
   if($this->current == NULL) {
    $this->prev = $this->current;
   }
   $this->current = $e;
  }
}

$list = new doublelist();
$list->add(new element('a'));
$list->add(new element('b'));
Run Code Online (Sandbox Code Playgroud)

这最初是有效的,但如果我添加第二个元素,我会"失去"第一个元素,我不明白为什么.

php linked-list

8
推荐指数
2
解决办法
3367
查看次数

php打开文件性能

我有关于php和打开文件的问题

PHP有多个打开文件的功能:

file_get_contents()
fopen()
file()
Run Code Online (Sandbox Code Playgroud)

我的问题与表现有关.在我的服务器上,我必须打开文件,然后检查内容,如果需要进行一些修改,并重新保存它们.

我想尽快做出这些改变

哪一个更好地打开文件(小型和大型)性能明智?含义; 为什么要先使用其他人?

php performance file

7
推荐指数
1
解决办法
482
查看次数

我应该使用正则表达式来解析我的文件,还是有更好的方法?

我有一个超过2000行的文件,我需要解析.我想确保获得100%准确的结果,然后将其导入我的MariaDB.

该文件如下所示:

line 0: #start#
line 1: 20111211\200000
line 2: n=john|l=smith,131_stree_apt#102_city_state_11111_country,19989989988|17771112222,user%64domain.com,12,21,551|626|23\r
...
line 2156: #end#
Run Code Online (Sandbox Code Playgroud)

所以第1行是24h格式的日期时间第2行是行格式:

  • n =名字
  • l =姓氏
  • 完整地址
  • 手机+手机
  • 电子邮件
  • 总目标
  • 总票数
  • 在冰上的时间+在板凳上的时间
  • 阴谋纪要

我无法弄清楚正则表达式.我的另一个想法是解析每一行,然后解析每个逗号,然后解析每个管道等,但我认为这种方法比正则表达式慢,而且不太准确.我对吗?

php regex mariadb

3
推荐指数
1
解决办法
311
查看次数

用于SQL注入性能的最佳函数

可能重复:
在PHP中停止SQL注入的最佳方法

我想知道最好用哪些函数来防止MySQL注入

我可以使用一些函数来阻止sql注入,例如:

  • mysql_real_escape_string
  • mysqli_real_escape_string
  • addslashes
  • 为数字输出值(intval等...)
  • htmlentitiesENT_QUOTES
  • 或者只是删除'"

我想使用最好和更快的反SQL注入方法来标准化我的代码,我想知道我应该为高流量站点使用哪一个.

php mysql sql-injection

2
推荐指数
1
解决办法
420
查看次数