自动为PDF下载添加唯一编号


Automatically adding a unique number to a PDF download

我有一个在线销售礼券的客户-他们目前有一款软件用于为证书分配号码,因此不能多次使用-当有人交上礼券时,他们会在计算机上输入号码,这意味着如果其他人有相同的号码,就不会被接受。

当他们在商店销售时,这很容易,但现在他们想在网上销售(使用PayPal作为支付网关)。他们有证书的设计,我只需要能够做到以下几点:

  1. 允许用户通过PayPal购买(很简单)
  2. 将用户重新引导到下载页面(再次轻松)
  3. 这就是它变得困难的地方,我需要每次下载都在某个地方有一个唯一的数字——所以当他们打印它时,数字就在上面,而不仅仅是文件名

这在网页上很容易,我可以在每个视图的数字上添加一个,但理想情况下,这将是PDF格式。

我可以使用100到10000之间的任何数字(按任何顺序)。

有人知道最好的办法吗?

首先,您需要至少在顶部添加一个校验位,以阻止人们猜测下一个数字。因此$gift_code=$random_number。check_digit($random_number);

这不是万无一失的,你应该从现有的软件中生成一组数字,然后浏览这个列表。将其存储在数据库中,并在每次销售后将其标记为已售出。

对于PDF部分,请使用http://www.fpdf.org/或http://www.php.net/manual/en/intro.pdf.php使用您拥有的礼券图像作为PDF的背景,并将礼品卡代码添加为文本。

希望这能有所帮助。祝你好运

我会使用uniqid():

$filename = 'foobar'.uniqid();
echo $filename; //eg: foobar51f1048fcd26b

甚至,rand():

$filename = 'foobar'.rand(1,10000);
echo $filename; //eg: foobar6274

我不确定我是否确切理解你的意思。。但是你可以尝试在php中使用time()函数。。例如:

$file_name = time() . '_file.pdf'

使用md5、

$unique = md5(uniqid(rand (), true));