文件的複製和刪除功能

1,修改前端程式碼

在複製和刪除按鈕這裡分別加上get參數,使其在發送get請求時發送檔案的id( file)和動作類型action

微信图片_20180303090606.png

程式碼如下:

<?php
<a href="?file=<?php echo $v['file_id'];?>&action=copy">复制</a>|
<a href="?file=<?php echo $v['file_id'];?>&action=del">删除</a>

2,取得get參數進行複製刪除動作

首先在index.php裡取得到get參數file_id,然後查詢檔案表netdisk_file,從中取得到需要複製和刪除的對應的檔案資訊,

執行檔的複製操作copy()與刪除操作unlink()

程式碼如下:

<?php
//获取get参数
$file_id=isset($_GET['file'])?intval($_GET['file']):0;
//复制和删除功能
$action=isset($_GET['action'])?trim($_GET['action']):"";
if($action=="del"){
//    unset();
$sql="select *from netdisk_file where file_id=$file_id";
$del_file=fetchRow($sql);
unlink($del_file['file_save']);
//删除数据库里的数据
$sql="delete from netdisk_file where file_id=$file_id";
if(!mysql_query($sql)){
echo '数据库数据删除失败';
};
}elseif ($action=="copy"){
$sql="select *from netdisk_file where file_id=$file_id";
$copy_file=fetchRow($sql);
$filesavename=$copy_file['file_save'];
if(file_exists("$filesavename.bak")){
echo '文件名冲突,复制失败';
}
if(!copy("$filesavename","$filesavename.bak")){
echo "复制失败";
}else{
$file_copy_name=$copy_file["file_name"];
$file_copy_size=$copy_file["file_size"];
$file_copy_id=$copy_file["folder_id"];
$sql="insert into netdisk_file (file_name,file_save,file_size,file_time,folder_id) values('$file_copy_name.bak','$filesavename.bak',$file_copy_size,now(),$file_copy_id)";
if(!mysql_query($sql)){
unlink($uploadfile_save);
echo "写入数据库出错";
}
}
}

#3,效果顯示

##複製展示:

點複製前的頁面:

微信图片_20180303091313.png

點完複製後:

微信图片_20180303091315.png

# 資料庫所發生的變更:

微信图片_20180303091319.png

刪除展示:

#刪除前的頁面:

微信图片_20180303091640.png

刪除後的頁面:

微信图片_20180303091643.png

資料庫對應的也發生了改變

繼續學習
||
<?php echo "删除复制操作";