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

时间:2013-07-25 10:48:19

标签: php javascript pdf pdf-generation

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

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

  1. 允许用户通过PayPal购买(很简单)
  2. 将用户重新定向到下载页面(再次简单)
  3. 这就是它变得困难的地方,我需要每次下载都有一个唯一的号码 - 所以当他们打印它时它的号码,即不只是文件名。
  4. 这在网页上很容易,我可以在每个视图上添加一个数字,但理想情况下这将是PDF格式。

    我可以使用100到10,000之间的任何数字(任何顺序)。

    有人知道最好的方法吗?

4 个答案:

答案 0 :(得分:0)

我使用uniqid()

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

甚至,rand()

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

首先,您希望至少添加一个校验位,以阻止人们按顺序猜测下一个数字。所以$ gift_code = $ random_number。 check_digit($ random_number);

这不是骗子,你应该从现有软件中生成一组数字然后通过该列表。将其存储在数据库中,并在每次销售后将其标记为已售出。

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

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

答案 3 :(得分:0)

使用md5,

  

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