PHP – 将文件移动到服务器上的其他文件夹中

我需要允许我的网站上的用户删除他们的图片后,如果他们不再需要他们上传了服务器。 我以前在PHP中使用unlink函数,但是后来被告知这可能是相当危险和安全的问题。 (以前的代码:)

 if(unlink($path.'image1.jpg')){ // deleted } 

相反,我现在只想将文件移动到不同的文件夹中。 他们第一次上传文件后,必须能够长时间完成,以便他们随时login到他们的帐户。 如果我有用于存储用户图像的主文件夹:

 user/ 

然后在那个名为del的文件夹,这是目标,把他们不需要的图像:

 user/del/ 

是否有一个命令将文件移动到不同的文件夹? 所以说:

 user/image1.jpg 

移动/成为

 user/del/image1.jpg 

renamefunction这样做

文档重命名

rename('image1.jpg', 'del/image1.jpg');

如果你想保留现有的文件在同一个地方,你应该使用copy

文档复制

copy('image1.jpg', 'del/image1.jpg');

如果要移动上传的文件,请使用move_uploaded_file ,尽pipe与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"); } } 

代码从文档snipet

使用rename()函数。

 rename("user/image1.jpg", "user/del/image1.jpg"); 
Interesting Posts