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 );
通常情况下,为了便于阅读,我会避免使用句点连接。“所有这些点和引号都在折磨我!”请参见和。“所有这些点和引号都在折磨我!”请参见和。