gpt4 book ai didi

PHP文件上传更改文件名保留扩展名

转载 作者:太空宇宙 更新时间:2023-11-04 09:35:49 26 4
gpt4 key购买 nike

我想更改上传文件的名称,例如,如果我选择上传文件“image.png”,我想在上传时将其重命名为“face.png”。

我有一个 php 图像上传表单,但是它保留文件的当前名称并上传它,我现在想要一个变量名称 $custom_name,我可以编辑内容,这是文件的新名称。

PHP 上传表格:

if(isset($_FILES['image'])){
$errors= array();

$custom_name = ""; // THIS IS WHERE I WANT TO INSERT NEW NAME

$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));

$expensions= array("png");

if(in_array($file_ext,$expensions)=== false){
$errors[]='Only PNG files';
echo "Only PNG files";
}

if($file_size > 2097152){
$errors[]='Larger than 2MB';
echo "Larger than 2MB";
}

if(empty($errors)==true){
move_uploaded_file($file_tmp,"images/quads/".$file_name);
echo "Success";
}else{
}
}

我已经尝试过串联,但只是不知道将 $custom_name 变量放在哪里。

非常感谢您的帮助

最佳答案

Since you said you already tried (and it looks like you really have), here is an explanation:

当您使用 PHP 上传文件时,原始文件名将变为 $_FILES['image']['name']。在您的代码中,您将此值设置为变量 $file_name
您已经在 $file_ext 中有了该文件的扩展名,因此您可以使用它。

如果您在$custom_name 变量中有一个特定的字符串,您可以使用:

$file_name = $custom_name . $file_ext;

move_uploaded_file 的第二个参数是您要创建的新文件的路径(在您的示例中是 "images/quads/".$file_name) .如果变量 $file_name 将包含 $custom_name$file_ext - 你会得到你想要的。

关于PHP文件上传更改文件名保留扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40329984/

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