我现在是上传图片后算出文件的sha1值,然后取前20位字符作为文件名。
假如正好别的图片sha1值的前20位正好跟某张图一样,会覆盖掉原图片。不知道这个方案可不可行?新图覆盖旧图的概率大不大?

解决方案 »

  1.   

    上传时间 + sha1 . jpg
      

  2.   

    一般用 time() 即可,上传频度大时也可用 microtime(true)
    需检查内容也不重复时用 md5_file 或 sha1_file 的结果
      

  3.   

    我就是想检查内容不重复,想节省点磁盘空间。不过sha1的前20位冲突的可能性大不大,我问的是这个。
      

  4.   

    给你省点hash,crc32+字节数重复的概率已经很低了,用这个组合做文件名,还能省下比较时再次hash的功夫
    如果觉得不保险就md5+字节数,足够了
      

  5.   

    php 里面有个函数是生成不同的ID号  uniqid — 生成一个唯一ID 用这个试试