PHP move_uploaded_file重命名文件

时间:2017-04-26 04:52:30

标签: php

我知道move_uploaded_file()设置了上传文件的名称并设置了目的地。我有这个:

$sourcePath = $_FILES['file']['tmp_name']; // Storing source path of the    file in a variable
$targetPath = $_SERVER['DOCUMENT_ROOT'] . '/img/profiles/'.$_FILES['file']['name']; // Target path where file is to be stored
move_uploaded_file($sourcePath,$targetPath) ; // Moving Uploaded file`

我试过爆炸$_FILES['file']['tmp_name'],但我无法将上传文件的名称更改为POST变量$newfile=$_POST["something"];

提前谢谢

2 个答案:

答案 0 :(得分:2)

我正在使用

//文件名

$file_name = $_FILES["file"]["name"];
$file_name = preg_replace('/\\.[^.\\s]{3,4}$/', '', $file_name);

//获取扩展程序

$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

//更改名称

$imagename = $file_name . time() . "." . $ext;

答案 1 :(得分:1)

使用$ targetpath变量中的文件名设置整个上载路径。 在您的代码中

$sourcePath = $_FILES['file']['tmp_name'];
$newfile=$_POST["something"]; //any name sample.jpg
$targetPath = $_SERVER['DOCUMENT_ROOT'] . '/img/profiles/'.$newfile;
move_uploaded_file($sourcePath,$targetPath) ;

现在上传的文件名是sample.jpg 我认为这对你有帮助。