PHP如何重命名上传的文件?

PHP如何重命名上传的文件?,php,mysql,Php,Mysql,我想重命名文件并将其上传到服务器和数据库中。我有一个密码: $file = $_FILES['file']; list(,$type) = explode('/', $file['type']); move_uploaded_file($file['tmp_name'], 'images/'.time().'.'.$type); $a = time(); $b = ($a.'.'.$type); 它正在工作,但我不确定它是如何工作的。我如何才能将此'images/'.time().$type更

我想重命名文件并将其上传到服务器和数据库中。我有一个密码:

$file = $_FILES['file'];
list(,$type) = explode('/', $file['type']);
move_uploaded_file($file['tmp_name'], 'images/'.time().'.'.$type);
$a = time();
$b = ($a.'.'.$type);
它正在工作,但我不确定它是如何工作的。我如何才能将此
'images/'.time().$type
更改为我想要的名称,例如:
'images/'myname.time().$type)
所有这些点和引号都快把我累死了

是的,你可以

然后使用$new\u名称进行数据库查询。

是的,您可以

然后使用$new\u name进行数据库查询。

move\u uploaded\u file()接受两个参数-旧名称和新名称。第二个是新名称,因此可以指定任何需要的内容

点是PHP中的连接运算符

“images/”.time().$type)

表示“获取静态字符串‘images/’,将time()的返回值放在末尾,然后是句点,然后是变量$type的内容

例如,如果time()返回“1”,并且$type包含“example”,则结果将是“images/1.example”

这将有效地将上载的文件重命名为1。例如,在目录images/

中,move\u uploaded\u file()使用两个参数-旧名称和新名称。第二个是新名称,以便您可以指定任何需要的参数

点是PHP中的连接运算符

“images/”.time().$type)

表示“获取静态字符串‘images/’,将time()的返回值放在末尾,然后是句点,然后是变量$type的内容

例如,如果time()返回“1”,并且$type包含“example”,则结果将是“images/1.example”


这将有效地将上载的文件重命名为1。例如,在目录images/

中,点是PHP字符串连接运算符。请参阅此处:快速了解其工作原理

如果让您感到更舒适,您可以使用sprintf将名称生成转换为字符串格式操作:


基本上,文件的新名称将是移动上传文件的第二个参数,因此您可以在其中放置任何需要的内容。

点是PHP字符串连接运算符。请参阅此处:快速了解其工作原理

move_uploaded_file($file['tmp_name'], 'images/'.$yourName.time().'.'.$type);
如果让您感到更舒适,您可以使用sprintf将名称生成转换为字符串格式操作:

基本上,文件的新名称将是移动上传文件的第二个参数,因此您可以将任何需要的内容放在那里

move_uploaded_file($file['tmp_name'], 'images/'.$yourName.time().'.'.$type);
如果要在名称和时间之间使用分隔符:

move_uploaded_file($file['tmp_name'], 'images/'.$yourName.'-'.time().'.'.$type);
如果要在名称和时间之间使用分隔符:

move_uploaded_file($file['tmp_name'], 'images/'.$yourName.'-'.time().'.'.$type);

点是连接操作(将字符串连接在一起)

移动上传文件如下所示:
移动上传的文件(字符串$filename,字符串$destination)

$file
name是上载到临时目录的临时名称,
$string
是要将其移动到的目标路径

在您的情况下,您只需执行以下操作:

$myname = 'thisismyname';
$filename = 'images/' . $myname . time() . '.' . $type;
move_uploaded_file($file['tmp_name'], $filename); //Move the file 
//Save $filename to the database here

点是连接操作(将字符串连接在一起)

移动上传文件如下所示:
移动上传的文件(字符串$filename,字符串$destination)

$file
name是上载到临时目录的临时名称,
$string
是要将其移动到的目标路径

在您的情况下,您只需执行以下操作:

$myname = 'thisismyname';
$filename = 'images/' . $myname . time() . '.' . $type;
move_uploaded_file($file['tmp_name'], $filename); //Move the file 
//Save $filename to the database here

如果这些点让你很痛苦,把它们变成加号(+)。它们有时也会影响我,因为当我试图访问对象/类的成员或字符串附加操作时,我很难理解这是否是点符号。这里是你的第三行:

$newName = 'aDifferentFileName';
$finalFilePath = 'images/' + $newName + time() + '.' + $type;
move_uploaded_file( $file['tmp_name'], $finalFilePath );

通常情况下,为了便于阅读,我会避免使用句点进行连接。

如果这些点让你感到痛苦,请将它们改为加号(+)。它们有时也会影响我,因为当我试图访问对象/类的成员或字符串附加操作时,我很难理解这是否是点符号。这里是你的第三行:

$newName = 'aDifferentFileName';
$finalFilePath = 'images/' + $newName + time() + '.' + $type;
move_uploaded_file( $file['tmp_name'], $finalFilePath );
通常情况下,为了便于阅读,我会避免使用句点连接。

“所有这些点和引号都在折磨我!”请参见和。“所有这些点和引号都在折磨我!”请参见和。