[英]php rename the uploaded file with extension
我有一个PHP代码如下:
$titleA = $_POST["title"];
if (in_array($_FILES["file"]["type"], $valid_mime_types)) {
$destination = "bannerImages/" . $_FILES["file"]["name"];
move_uploaded_file($_FILES["file"]["tmp_name"], $destination); }
我想使用$ titleA变量更改文件名。 但是扩展名是相同的。 基本上,文件名将成为标题的内容。 让我说,原始文件是first.jpeg,第二个将是second.jpeg。
您好,如果我对您的理解正确,则在提取扩展程序信息时遇到问题。 您可以随时使用pathinfo
例
$extention = pathinfo("first.jpeg ",PATHINFO_EXTENSION);
$newName = "secound." . $extention ;
var_dump($newName);
输出量
string 'secound.jpg' (length=11)
基本上,您需要扩展上传的文件,
你必须先获得扩展名,你有文件
$_FILES["file"]["name"]
字符串位置“ strpos()”将获取文件的点
$idx = strpos($_FILES['file']['name'],'.');
点后必须通过文件扩展名;
$ext = substr($_FILES['file']['name'],$idx);
最后根据需要更改文件名,
$file_name = $titleA . $ext;
使用move_uploaded_file时,您可以选择文件名,因此可以选择任何内容。
当您上传文件时,将其放置在带有临时名称的临时目录中,move_uploaded_file()允许您移动该文件,并且还需要设置文件名。
以下是我如何将文件扩展名从.png重命名为.jpg的代码
function replace_extension($filename, $new_extension) {
$info = pathinfo($filename);
$newname = $info['filename'] . '.' . $new_extension;
rename('/home/image/'.$filename, '/home/image/'.$newname);
return $newname;
}
$dir = '/home/image';
$files = scandir($dir);
//print_r($files);
foreach($files as $key => $file)
{
echo replace_extension($file, 'jpg');
echo "<br />";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.