Php 是否更改上载图像名称中的字符数?substr

Php 是否更改上载图像名称中的字符数?substr,php,filenames,substr,Php,Filenames,Substr,我有一个网站,你可以上传图像。它工作得很好,但是上传的图像名称太长了——“swag_526abccf5e2bcd27d2000e3f9.jpg” 我想在“swag_________________________________ 我想这和新名字后面的数字5和12有关吧 $newname = uniqid("swag_") . substr(md5($file['name']), 5, 12) . $ext; ,但我不知道如何改变它以获得我想要的结果。 谢谢你的帮助 substr(md5($fi

我有一个网站,你可以上传图像。它工作得很好,但是上传的图像名称太长了——“swag_526abccf5e2bcd27d2000e3f9.jpg” 我想在“swag_________________________________

我想这和新名字后面的数字5和12有关吧

$newname = uniqid("swag_") . substr(md5($file['name']), 5, 12) . $ext;
,但我不知道如何改变它以获得我想要的结果。 谢谢你的帮助

substr(md5($file['name']), 5, 12) 
这意味着,计算$file['name']的md5和,然后从字符5开始,取下12个字符并将其用作文件名

如果您想更改图像名称中使用的字符数,只需使用这些数字即可。从降低12开始,可能降到8,如下所示:

substr(md5($file['name']), 5, 8) 
也许更少,试试看,否则你将如何了解这些东西:-) 这也有助于:

编辑: 好吧,我刚才看到你在用uniqid。如果您只需要8个字符,则可以完全删除该md5部分:

$newname = substr(uniqid("swag_"), 0, 13) . $ext;

谢谢,我刚刚查看并了解了更多关于md5和uniqid的信息,现在它变得更有意义了,但还有更多需要了解;)
$newname = substr(uniqid("swag_"), 0, 13) . $ext;