php 随机数 名称,php – 从标题更改为随机数

标签:php

我有这个代码应该重命名图像.它采用网站的标题并生成一个名称,但如果没有标题,它只保留旧名称.

我怎样才能这样做,而不是标题,它只是randoms数字输入?所以不是“title.extension”而是randomnumber.jpg?

$tmp = download_url( $img );

preg_match('/[^\?]+\.(jpg|JPG|jpe|JPE|jpeg|JPEG|gif|GIF|png|PNG)/', $img, $matches);

$newfn = str_replace(array("%2B", "%52", "%20", "%5"), "B", basename($matches[0]));

$oofnm = basename($matches[0]);

if($newfn != $oofnm) {

$newfn2 = str_replace(array(".jpg", ".png", ".gif"), "", $newfn);

$tmppath = pathinfo( $tmp ); // extract path parts

$newpth = $tmppath['dirname'] . "/". $newfn2 . "." . $tmppath['extension'];

rename($tmp, $newpth); // renames temp file on server

$tmp = $newpth;

}

$file_array['name'] = $newfn;

$file_array['tmp_name'] = $tmp;

// If error storing temporarily, unlink

if ( is_wp_error( $tmp ) ) {

@unlink($file_array['tmp_name']);

$file_array['tmp_name'] = '';

continue;

}

解决方法:

放下所有不必要的:

$path_parts = pathinfo($matches[0]);

$file_array['name'] = rand(0,time()/1000) . "." . $path_parts['extension'];

我不确定为什么你使用time()/ 1000作为rand函数的上限.我宁愿使用rand固定的最小和最大args甚至使用更高级的mt_rand功能.

但我建议您使用uniqid()函数为唯一文件生成唯一的文件标识符:

$file_array['name'] = uniqid() . "." . $path_parts['extension'];

标签:php

来源: https://codeday.me/bug/20190623/1274831.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值