我需要允许我的网站上的用户在上传后将其图像从服务器上删除,如果他们不再需要它们的话 . 我以前在PHP中使用 unlink
函数,但后来被告知这可能存在风险并且存在安全问题 . (上面的代码:)
if(unlink($path.'image1.jpg')){
// deleted
}
相反,我现在只想将文件移动到另一个文件夹中 . 这必须能够在他们首次上传文件后很长时间内完成,以便他们在登录帐户时 . 如果我有存储用户图像的主文件夹:
user/
然后在一个名为del的文件夹中,这是放置其不需要的图像的目的地:
user/del/
是否有将文件移动到其他文件夹的命令?所以说:
user/image1.jpg
移动到/成为
user/del/image1.jpg
5 回答
如果要在保留原始文件名的情况下在新路径中移动文件 . 用这个:
一些解决方案是首先复制()文件(如上所述)和目标文件存在时 - unlink()文件与之前的本地化 . 此外,您可以在取消链接之前验证MD5校验和,以确保
shell_exec('mv filename dest_filename');
rename
函数执行此操作docs rename
rename('image1.jpg', 'del/image1.jpg');
如果你想将现有文件保存在同一个地方你应该使用
copy
docs copy
copy('image1.jpg', 'del/image1.jpg');
如果要移动上传的文件,请使用
move_uploaded_file
,尽管这与rename
几乎相同,但此函数还会检查给定文件是否是通过POST
上传的文件,这可以防止例如移动本地文件docs move_uploaded_file
code snipet from docs
使用rename()功能 .