PHP-将文件移至服务器上的其他文件夹

如果他们不再需要我的网站上的用户,则在他们上载图像后,需要允许他们从服务器上删除它们的图像。我以前unlink在PHP中使用该函数,但此后被告知这可能具有很高的风险和安全性。(下面的先前代码:)


if(unlink($path.'image1.jpg')){ 

     // deleted

}

相反,我现在只想将文件移动到其他文件夹中。他们必须先上传文件很长时间,然后才能登录帐户。如果我有存储用户图像的主文件夹:


user/

然后在其中一个名为del的文件夹中放置不需要的图像:


user/del/

是否有命令将文件移动到其他文件夹?这样说:


user/image1.jpg

移至/成为


user/del/image1.jpg


幕布斯7119047
浏览 564回答 3
3回答

函数式编程

该rename功能做到这一点docs重命名rename('image1.jpg', 'del/image1.jpg');如果要将现有文件放在同一位置,则应使用 copydocs复制copy('image1.jpg', 'del/image1.jpg');如果您想移动上载的文件,请使用move_uploaded_file,尽管与rename此功能几乎相同,但它还会检查给定文件是否是通过上载的文件POST,这可以防止例如移动本地文件docs move_uploaded_file$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");    }}

暮色呼如

如果要将文件移动到新路径并保留原始文件名。用这个:$source_file = 'foo/image.jpg';$destination_path = 'bar/';rename($source_file, $destination_path . pathinfo($source_file, PATHINFO_BASENAME));

喵喔喔

我使用外壳读取所有数据文件,然后分配给数组。然后我将文件移到最高位置。i=0 for file in /home/*.gz; do    $file    arr[i]=$file    i=$((i+1)) done mv -f "${arr[0]}" /var/www/html/
打开App,查看更多内容
随时随地看视频慕课网APP