如何防止日期/时间更改php

时间:2017-10-17 08:43:13

标签: php

我想通过在文件名中添加日期/时间来防止重复的图像文件上传。

我有一个图像预览,如果用户上传图像文件,该文件将被发送到带有日期时间戳的文件夹。当用户填写表单并将图像和表单详细信息发布到数据库时,图像文件上的图像分钟会发生变化。

我遇到的问题是将图像文件发送到文件夹时设置了日期时间,例如。 image 17 10 2017 10 18.jpg但是当我为数据库创建图像路径时,分钟会改变,例如。 image 17 10 2017 10 19.jpg。

1)使用Ajax发送到文件夹的文件即。 filename.date.extension
2)填写表格后发送到数据库的文件路径即。文件路径/ filename.date.extension

日期/时间不匹配1)应该等于2)

 <?php

  // Uploaded file sent via AJAX
  $mainImg = $_FILES['mainImg']['name'];

  $ext   = pathinfo($mainImg, PATHINFO_EXTENSION);
  $justname = basename($mainImg,".$ext");

  // Prevent duplicate
  $pd = date(" d m y H i ");

  // 6)Rename the main Image 
  $dateAdded = $justname.$pd.".".$ext;

  FILE IS SENT TO THE FOLDER THEN WHEN FORM IS FILLED OUT AND POSTED ALL 
  INFO GOES TO DATABASE...
  if (isset($_POST['submit'])){
  $directory = "Images/";
  $filetodatabase = $directory.$dateAdded;

  //CONNECT AND INSERT DATA INTO DATABASE USING MYSQL
  }

2 个答案:

答案 0 :(得分:0)

生成一次时间戳。如果您再次需要,请将其发送给其他组件。

答案 1 :(得分:0)

使用文件哈希来防止重复上传,而不是时间戳或日期。

请参阅PHP手册以了解以下两个:

  • md5_file - 计算给定文件的md5哈希值
  • sha1_file - 计算文件的sha1哈希值