PHP文件重命名

前端之家收集整理的这篇文章主要介绍了PHP文件重命名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表单,管理员将三个不同维度的图片上传到三个不同的指定目录.现在要确保我没有遇到重复文件名的问题,我实现像PHP将比较上传文件名,它将检查该文件名是否存在于指定目录中,如果是,那么它将回显错误并停止脚本执行.

现在,我的一位朋友告诉我,要求管理员手动重命名图片文件并要求他们处理文件复制问题是非常糟糕的.他建议的解决方案是自动重命名文件,然后将其存储在数据库中,然后将其导入目录.

我很困惑我应该给重命名文件什么组合,并确保它将保持唯一的文件名更准确我希望你理解我的目录结构

正如我所说,管理员上传三个图片文件

a) Title Picture b) Brief Picture c)
Detail Picture

并且所有三个图片文件将被移动到不同的相应目录,如标题图片转到标题目录,依此类推.

我正在使用下面的脚本当前只是为了在数据库中使用varchar移动和存储文件名.

$ns_pic_title_loc= $_FILES["ns_pic_title"]["tmp_name"];
$ns_pic_title_name = $_FILES["ns_pic_title"]["name"];
move_uploaded_file($ns_pic_title_loc,$ns_title_target.$ns_pic_title_name) or die(MysqL_error());

这只是示例代码我没有包括我正在使用的验证功能.我想我想要重命名所有文件

a)在标题目录中,文件应存储为.
title_1.jpg
title_2.jpg
title_3.jpg
title_4.jpg

等等

和其他图片一样.我怎么做?我用什么功能来实现我的目标.如果这不是重命名文件的好方法,我将不胜感激任何重命名文件的建议.

提前致谢

嗯,这是一个可能的解决方案:

>从$_FILES [“ns_pic_title”] [“name”]获取上传文件名并单独扩展OR如果我们只讨论图像文件,请使用getimagesize获取图像类型($_ FILES [“ns_pic_title”] [“tmp_name”]);
>检查数据库中图像记录的最大ID,并使$file_name变量’title _’.($max_id 1)
>此时你应该有$file_name和$file_extension来做move_uploaded_file($_ FILES [“ns_pic_title”] [“tmp_name”],$ns_title_target.$file_name.’.’.$file_extension)

希望这是有道理和有帮助的.

原文链接:https://www.f2er.com/php/136172.html

猜你在找的PHP相关文章