[英]How to interpret the PHP time() function
每次用户上传新图片时,我们都将图片重命名为PHP的time()
函数的值,因此我们的数据库中没有重复的图片名称(因为没有相同的年,月,日,时,分和秒)。
我需要知道time()
的值是否包括年份。 如果没有,那么明年将允许重复的图片名称。 我如何理解time()
的返回值,例如1301888225? 我如何从该数字中获取年,月,日等信息?
echo date("d.m.Y H:i:s", 1301888225);
//04.04.2011 03:37:05
Unix时间戳记可在32bit机器上使用,直到2038年1月19日为止,因此您可以安全地命名图片很长时间。 如果2个用户同时上传图片怎么办?
$filename = time()."_".mt_rand(0, 9999).".jpg";
在手册中有说明:
int time ( void )
Returns the current time measured in the number of seconds since the
Unix时代(格林尼治标准时间1970年1月1日00:00:00)。
因此,您不必担心重复的名称问题。 但是,您应该注意2038年的问题 。
如果两个用户在同一秒内上传文件怎么办? 为什么不只使用PHP分配给文件的临时名称?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.