我需要允许我的网站上的用户删除他们的图像从服务器上上传后,如果他们不再想要他们。我以前在PHP中使用unlink函数,但后来被告知这可能是相当危险的和安全问题。(之前的代码如下:)
if(unlink($path.'image1.jpg')){
// deleted
}
相反,我现在想简单地移动文件到一个不同的文件夹。这必须能够在他们第一次上传文件后很长一段时间内完成,所以任何时候他们登录到他们的帐户。如果我有存储用户图像(s)的主文件夹:
user/
然后在这个文件夹中有一个del文件夹,用来存放他们不想要的图片:
user/del/
是否有将文件移动到不同文件夹的命令?所以他们说:
user/image1.jpg
移动/变得
user/del/image1.jpg
rename函数可以做到这一点
文件重命名
重命名('图像1.jpg', 'del/image1.jpg');
如果你想保持现有的文件在相同的地方,你应该使用复制
文档复制
拷贝(‘image1.jpg’,‘戴尔/ image1.jpg’);
如果你想要移动一个上传的文件,使用move_uploaded_file,尽管这几乎与rename相同,但该函数也检查给定的文件是否是通过POST上传的文件,这可以防止例如本地文件被移动
文档函数
$uploads_dir = '/uploads';
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ($error == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
$name = $_FILES["pictures"]["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
文档中的代码片段