gpt4 book ai didi

PHP文件重命名

转载 作者:可可西里 更新时间:2023-11-01 12:36:39 24 4
gpt4 key购买 nike

我有一个表单,管理员可以将三张不同尺寸的图片上传到三个不同的指定目录。现在为了确保我不会遇到重复文件名的问题,我实现了类似 php 的东西,它将比较上传的文件名,它会检查指定目录中是否存在该文件名,如果是,那么它将回显错误并停止脚本执行。

现在我的一位 friend 建议我让管理员手动重命名图片文件并让他们处理文件重复问题是非常糟糕的。他建议的解决方案是自动重命名文件,然后将其存储在数据库中,然后将其定向到目录。

我很困惑我应该为重命名的文件提供什么组合,并确保它保持唯一的文件名以便更准确我希望你了解我的目录结构

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

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 目录中,文件应存储为。title_1.jpgtitle_2.jpg标题_3.jpgtitle_4.jpg

等等

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

提前致谢

最佳答案

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

  1. $_FILES["ns_pic_title"]["name"] 获取上传的文件名和单独的扩展名,或者如果我们只讨论图像文件,则使用 getimagesize($_FILES ["ns_pic_title"]["tmp_name"]);
  2. 检查您的数据库以获取图像记录的最大 ID,并将 $file_name 变量设置为 'title_'.($max_id + 1)
  3. 此时你应该有 $file_name 和 $file_extension 也是 move_uploaded_file($_FILES["ns_pic_title"]["tmp_name"], $ns_title_target.$file_name.'.'.$file_extension)

希望这是有道理的并有所帮助。

关于PHP文件重命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3635831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com