在php中添加上传文件名的日期/时间

时间:2014-02-20 12:47:56

标签: php file date filenames overwrite

无论如何都要添加日期/时间或任何其他文件编辑,以防止覆盖此PHP代码:

$name = $_FILES['file']['name'];

或此代码:

if (move_uploaded_file($tmp_name, $location.$name)) {
    echo 'file uploaded! ';
}

3 个答案:

答案 0 :(得分:0)

您是否希望保留原始文件名并添加例如最后的日期? 您需要将文件名拆分为名称和扩展名,然后将日期添加到名称末尾并再次将它们粘合在一起

答案 1 :(得分:0)

你可以这样做:

<?php
    if (move_uploaded_file($tmp_name, $location.time().'_'.$name)) {
        echo 'file uploaded! ';
    }
?>

答案 2 :(得分:0)

我希望通知患者家属!

$path=$_FILES['file']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
$base = pathinfo($path, PATHINFO_FILENAME);
$name = $base.date("Y-m-d_H_i_s.").$ext;

你想要的是防止不同文件使用相同的文件名,你可以使用文件内部数据的哈希值来代替:

$path=$_FILES['file']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
$base = pathinfo($path, PATHINFO_FILENAME);
$md5 = md5_file($path);
$name = $base.'_'.$md5.'.'.$ext;

您还可以将这些结合起来:

$path=$_FILES['file']['name'];
$ext = pathinfo($path, PATHINFO_EXTENSION);
$base = pathinfo($path, PATHINFO_FILENAME);
$md5 = md5_file($path);
$name = $base.'_'date("_Y-m-d_H_i_s.").$md5.$ext;

更多信息:

http://php.net/manual/en/function.date.php

http://php.net/manual/en/function.md5-file.php

http://php.net/pathinfo