PHP – 将文件移动到服务器上的其他文件夹中
我需要允许我的网站上的用户删除他们的图片后,如果他们不再需要他们上传了服务器。 我以前在PHP中使用unlink
函数,但是后来被告知这可能是相当危险和安全的问题。 (以前的代码:)
if(unlink($path.'image1.jpg')){ // deleted }
相反,我现在只想将文件移动到不同的文件夹中。 他们第一次上传文件后,必须能够长时间完成,以便他们随时login到他们的帐户。 如果我有用于存储用户图像的主文件夹:
user/
然后在那个名为del的文件夹,这是目标,把他们不需要的图像:
user/del/
是否有一个命令将文件移动到不同的文件夹? 所以说:
user/image1.jpg
移动/成为
user/del/image1.jpg
rename
function这样做
文档重命名
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");