【问题标题】:1Change files name without touching the extension [duplicate]1更改文件名而不触摸扩展名[重复]
【发布时间】:2017-06-16 08:01:12
【问题描述】:

您好,我想通过添加 3 个随机字母来更改文件名。

$target_dir = "/var/www/html/uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$kiekis = htmlspecialchars($_POST['laikotarpis']);
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
$rpavadinimas = htmlspecialchars($_POST['rpavadinimas']);
$datanuo =  $datanuo = date("Y-m-d");
$time = strtotime($datanuo);
$dataiki = date("Y-m-d", strtotime("+$kiekis month", $time));
$Failo_vardas = htmlspecialchars(basename($_FILES["fileToUpload"]["name"]));

if ($imageFileType != "mp4" && $imageFileType != "avi" && $imageFileType != "mov" && $imageFileType != "3gp" && $imageFileType != "mpeg"){
    $error_message = "<span style='color:red';><b>Failo ". basename( $_FILES["fileToUpload"]["name"]). " Netinkamas failo formatas</b></span>";
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)){
        echo "success";
    }
}

例如我想上传文件“test.mp4”,但我想将它保存为“testA2Q.mp4” 任何解决方案如何解决?

编辑:我也想用更改后的名称保存它

【问题讨论】:

标签: php


【解决方案1】:

你可以这样做

    $info = pathinfo($_FILES['userFile']['name']);
    $ext = $info['extension']; // get the extension of the file
    $newname = "newname.".rand(0,999).$ext;
    $target = 'images/'.$newname;
    move_uploaded_file( $_FILES['userFile']['tmp_name'], $target);

这里

$newname = "newname.".rand(0,999).$ext;

rand(0,999)会用 0-999 之间的三个随机数生成一个名字。 我想这会对你有所帮助。

您可以在官方文档中查看有关pathinforand 的详细信息。

【讨论】:

    【解决方案2】:

    试试这个方法

    $target_dir = "/var/www/html/uploads/";
    
    $old_file = 'test.mp4'; //sample
    $new_name = 'testA2Q'; //sample
    $type = substr(strrchr($old_file, "."), 1);
    $new_file_name = $new_name.'.'.$type;
    
    rename ($target_dir.$old_file, $target_dir.$new_file_name); //rename a file
    

    【讨论】:

    • topicstarter 说“您好,我想通过添加 3 个随机字母来更改文件名。”代码中的 A2Q 是硬编码的,不是随机的
    • 这是一个示例,以便用户可以理解。这就是我使用“test.mp4”和“testA2Q”的原因。非常简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 2017-08-29
    • 1970-01-01
    • 2012-11-13
    相关资源
    最近更新 更多