0

我有一个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。

4

4 回答 4

3

您好,如果我理解正确,您在提取扩展信息时遇到问题。你可以随时使用pathinfo

例子

$extention = pathinfo("first.jpeg ",PATHINFO_EXTENSION);
$newName = "secound." . $extention ;
var_dump($newName);

输出

string 'secound.jpg' (length=11)
于 2012-09-25T14:40:24.267 回答
1

基本上你需要上传文件的扩展名,

你必须先获得扩展名,你有文件

$_FILES["file"]["name"]

字符串位置“strpos()”将获取文件的点

$idx = strpos($_FILES['file']['name'],'.');

在点之后,您必须通过文件扩展名;

$ext = substr($_FILES['file']['name'],$idx);

最后根据需要更改文件名,

$file_name = $titleA . $ext; 
于 2012-09-25T14:43:42.867 回答
0

使用 move_uploaded_file 时,您可以选择文件名,因此您可以选择任何您想要的。

当您上传文件时,它会被放入一个临时目录,move_uploaded_file() 允许您移动该文件,并且您还需要设置文件的名称。

于 2012-09-25T14:39:53.000 回答
0

下面是我如何将文件扩展名全部从 .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 />";
}
于 2018-05-14T06:35:31.347 回答