protected function _newDirData($list, $uid) { if ($list && is_array($list)) { foreach ($list as $key => $value) { $dir_id = $value['id']; //上传文件链接 $list[$key]['upload_file_url'] = url("myweb", "photo::photolist", "upload_{$dir_id}"); //删除文件夹链接 $list[$key]['del_dir_url'] = url("myweb", "photo::deldir", "del_{$dir_id}"); $first_src = UploadFile::getUploadFileTitleByDirId($dir_id, $uid); if ($first_src) { //设置了封面 $first_src = $first_src[0]; $cache_dir = '/temp/photo/' . $first_src['uid'] . '/' . $first_src['type_id'] . '/' . $first_src['dir_id'] . '/'; $file_path = $cache_dir . md5($first_src['upload_path']) . '.' . $first_src['file_type']; if (!is_file(ROOT_PATH . $file_path)) { PhotoM::cachePhoto($cache_dir, $first_src['upload_path'], $first_src['file_type']); } $list[$key]['photo_first_photo_src'] = $file_path; } else { //没有设置封面,默认为第一张 $list2 = UploadFile::getUploadFileByDirId($dir_id, $uid); if ($list2) { $list2 = $list2[0]; $cache_dir = '/temp/photo/' . '/' . $list2['uid'] . '/' . $list2['type_id'] . '/' . $list2['dir_id'] . '/'; $file_path2 = $cache_dir . md5($list2['upload_path']) . '.' . $list2['file_type']; if (!is_file(ROOT_PATH . $file_path2)) { PhotoM::cachePhoto($cache_dir, $list2['upload_path'], $list2['file_type']); } $list[$key]['photo_first_photo_src'] = $file_path2; } else { $list[$key]['photo_first_photo_src'] = ''; } } } } return $list; }
public static function getList($dir_id, $uid) { if (!$dir_id) { return false; } //使用redis缓存数据 $key_footer = 'uploadFileListByDir_' . $uid . '_' . $dir_id; $rs = Cache::get($key_footer); if ($rs) { $list = json_decode($rs, true); if (!$list) { $list = self::_newFileData(UploadFile::getUploadFileByDirId($dir_id, $uid)); Cache::set($key_footer, $list); } } else { $list = self::_newFileData(UploadFile::getUploadFileByDirId($dir_id, $uid)); } return $list; }
public function deldir($act) { $dir_id_arr = explode('_', $act); $uid = User::getLoginUid(); if (!isset($dir_id_arr[1])) { echo ''; throw new Exception('exit'); } $uid = User::getLoginUid(); $dir_id = $dir_id_arr[1]; $results_dir_files = UploadFile::getUploadFileByDirId($dir_id, $uid); //删除文件 if ($results_dir_files) { //删除文件 PhotoM::delPhoto($results_dir_files); //删除redis缓存的数据 $key_footer = 'uploadFileListByDir_' . $uid . '_' . $dir_id; Cache::del($key_footer); //删除数据库数据 UploadFile::deleteUploadFile($dir_id, null, $uid); } //删除文件夹 $del_dir_path = ROOT_PATH . "attachment/files/upload/{$uid}/1/{$dir_id}"; if (is_dir($del_dir_path)) { @rmdir($del_dir_path); } //删除缓存文件夹 $del_dir_path = ROOT_PATH . 'temp/photo/' . "{$uid}/1/{$dir_id}"; if (is_dir($del_dir_path)) { @rmdir($del_dir_path); } //删除数据库文件夹数据 $result_del = UploadDir::deleteUploadDir($dir_id, $uid); if ($result_del) { $msg['msg'] = '成功'; $msg['error'] = 0; } else { $msg['msg'] = '失败'; $msg['error'] = 1; } echo json_encode($msg); throw new Exception('exit'); }