move_uploaded_file
用于将一个临时文件移动到指定的目标位置。
// 临时文件路径 $sourceFilePath = $_FILES['file']['tmp_name']; // 目标文件路径 $destinationFilePath = 'path/to/destination/file.jpg'; // 移动文件 if (move_uploaded_file($sourceFilePath, $destinationFilePath)) { echo '文件移动成功!'; } else { echo '文件移动失败!'; }
rename
用于重命名文件或目录。
接受两个参数:
- oldname:你想要重命名的文件的当前名称
- newname:你想要给这个文件或目录的新名称。
如果操作成功,函数将返回TRUE,如果失败,则返回FALSE。
$oldname = 'file.txt'; $newname = 'newfile.txt'; if (rename($oldname, $newname)) { echo '文件重命名成功!'; } else { echo '文件重命名失败!'; }
copy
用于将文件从一个位置拷贝到另一个位置。
接受两个参数:
- source:要拷贝的文件的源路径
- dest:将这个文件拷贝到的目标路径。
$source = 'path/to/source/file.txt'; $dest = 'path/to/destination/file.txt'; if (copy($source, $dest)) { echo '文件拷贝成功!'; } else { echo '文件拷贝失败!'; }
三个函数的区别:
- move_uploaded_file 函数是专门用于将通过 HTTP 上传的临时文件移动到指定位置的。如果你想要将一个已经存在的文件移动到另一个位置,而不是上传的文件,那么你应该使用 rename 函数或 copy 函数。
- rename是用来重命名文件或目录的,而copy则是用来将文件从源路径拷贝到目标路径的。如果你想要移动文件,应该使用rename函数,如果你只是想要复制文件但不改变其位置,应该使用copy函数。