PHP:如何在文件输出中使用字符串生成索引名称?

伊万

其实我在用uniqid(); 生成随机名称:

$file = UPLOAD_DIR . uniqid() . '.png';

输出如下:

53bd02cdc6b9b.png
53bd02cdc6bd8.png
53bd0320aafbc.png
53bd0320aaff7.png
53bd03e89b8df.png

我想将每个文件的这些名称更改为输出:

picture_0001.png
picture_0002.png
picture_0003.png
picture_0004.png
picture_0005.png

你有更好的主意吗?

劳伦斯·切罗尼

您想要将所有当前图像修复为正确的格式(请参阅@FélixGagnon-Grenier答案),然后完成此操作后,您可以执行以下操作:

//get array of current images
$imgs = glob(UPLOAD_DIR.'*.png');

//select last image in array, strip out all non-alpha's then pad it with 4 0's
$next = str_pad(preg_replace("/[^0-9]/","", end($imgs))+1, 4, "0", STR_PAD_LEFT);

$file = UPLOAD_DIR.'picture_'.$next.'.png';

编辑

查看评论-基于文件的计数器

$count_file = UPLOAD_DIR.'count.txt'; //or put somewhere else

//make count file if not exists
if(!file_exists($count_file)){
    file_put_contents($count_file,0);
}

//get last image count + 1 
$next = file_get_contents($count_file)+1;

//set file var 
$file = UPLOAD_DIR.'picture_'.sprintf("%04s",$next).'.png';

//update counter
file_put_contents($count_file, $next);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在索引比较中使用字符串类型的索引

如何在接口中使用字符串枚举类型作为计算的属性名称?

如何在Android中使用字符串名称调用资源?

如何在Vue Js中使用字符串变量模式创建输入名称字段?

如何在 JAVA 中使用字符串变量作为对象名称?

如何在数组中使用字符串?

如何在bash中使用字符串数组

如何在Go中使用字符串文字

如何在多个线程中使用字符串

如何在RcppEigen中使用字符串变量

如何在Swift中使用字符串获取

如何在C#中使用字符串格式重命名文件?

如何在源文件中使用字符串类?

如何在资源文件中使用字符串插值?

如何在Android中使用字符串数组引用媒体文件?

如何在 R 的函数中使用字符串?(文件,rt 错误)

如何在python中使用字符串作为数组的名称,以便可以在for循环中使用

如何在php中使用字符串作为数学计算公式?

如何在 PHP 中的数组树中使用字符串?

如何在Python中使用字符串值创建可索引和可切片的枚举?

如何在设置中使用字符串文件路径,以便可以在代码中使用该路径

Julia-数据框-如何在by()中使用字符串进行自定义输出列命名

如何在JXPath表达式中使用字符串的子字符串

如何在字符串文字中使用字符串插值?

如何在Groovy多行字符串中使用字符串插值?

如何在临时抽屉材质UI中使用字符串名称指定按钮图标

如何在PHP字符串中使用索引查找字符?

如何在 Rust 中使用字符串或数字播种随机数生成器

在 NumPy 中使用字符串作为数组索引