1、フロントエンド コードを変更します。
取得パラメータをコピー ボタンと削除ボタンにそれぞれ追加して、ファイル ID (ファイル) を送信できるようにします。 ) およびアクション タイプ action
コードは次のとおりです:
<?php <a href="?file=<?php echo $v['file_id'];?>&action=copy">复制</a>| <a href="?file=<?php echo $v['file_id'];?>&action=del">删除</a>
2、コピーおよび削除操作のパラメータを取得します
まず、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、効果表示
表示をコピー:#コピーする前にページをクリック:
クリックして終了コピー後:
#データベース内の変更:
表示の削除:
削除前のページ:
削除後のページ:
##対応するデータベースにも変更が発生しました##