} } if (!isset($_GET["action"])) { $action = "unknown"; } else { $action = $_GET["action"]; } switch ($action) { case "showposition": downfile($info["gdir"] . "/position.txt"); break; case "showreadme": downfile($info["gdir"] . "/readme.txt"); break; case "showsynonim": downfile($info["gdir"] . "/synonim.txt"); break; case "update": upload_files($info); header("Location: genome.php?action=menu&id=" . $info["gid"]); break; case "delete": delete_genome($info); clus_head(); show_menu(); echo "Genome number " . $info["gid"] . " with code " . $info["gcode"]; echo " deleted<br />"; echo "<a href=\"..\">"; echo "Go to main page</a>"; clus_end(); break;
} case "getcircular": if (!isset($_GET["format"])) { $format = "png"; } else { $format = $_GET["format"]; } if (!isset($_GET["bins1"]) || !is_numeric($_GET["bins1"]) || $_GET["bins1"] < 1 || $_GET["bins1"] > 8192 || (!isset($_GET["bins2"]) || !is_numeric($_GET["bins2"]) || $_GET["bins2"] < 1 || $_GET["bins2"] > 8192)) { exit(0); } $bins1 = $_GET["bins1"]; $bins2 = $_GET["bins2"]; exec("graficatore/circular.sh {$info['ldir']} {$info['gdir']} {$bins1} {$bins2}"); switch ($format) { case "svg": downfile($info["ldir"] . "/cluster/{$bins1}.{$bins2}.circular.svg"); case "svgbaw": downfile($info["ldir"] . "/cluster/{$bins1}.{$bins2}.circular.bw.svg"); case "png": downfile($info["ldir"] . "/cluster/{$bins1}.{$bins2}.circular.png"); case "pdf": downfile($info["ldir"] . "/cluster/{$bins1}.{$bins2}.circular.pdf"); case "txt": downfile($info["ldir"] . "/cluster/{$bins1}.{$bins2}.circular.txt", "t"); case "html": readfile($info["ldir"] . "/cluster/{$bins1}.{$bins2}.circular.html"); exit(0); } default: echo "&error 1"; }
exec("gracebat -settype xy -param {$tmpdir}/para.par -hdevice PNG -hardcopy -printfile {$tmpdir}/{$bins}.{$genomelength}.pearson.png {$tmpdir}/{$bins}.{$genomelength}.pearson.txt -saveall {$tmpdir}/{$bins}.{$genomelength}.pearson.agr"); downfile("{$tmpdir}/{$bins}.{$genomelength}.pearson.agr"); break; case "png": file_put_contents("{$tmpdir}/para.par", str_replace('@@rho@@', substr($mcorr, 0, 4), file_get_contents("graficatore/parfile/" . "correlaz.par"))); exec("gracebat -settype xy -param {$tmpdir}/para.par -hdevice PNG -hardcopy -printfile {$tmpdir}/{$bins}.{$genomelength}.pearson.png {$tmpdir}/{$bins}.{$genomelength}.pearson.txt -saveall {$tmpdir}/{$bins}.{$genomelength}.pearson.agr"); exec("mogrify -crop 792x240+0 {$tmpdir}/{$bins}.{$genomelength}.pearson.png"); downfile("{$tmpdir}/{$bins}.{$genomelength}.pearson.png"); break; case "pdf": file_put_contents("{$tmpdir}/para.par", str_replace('@@rho@@', substr($mcorr, 0, 4), file_get_contents("graficatore/parfile/" . "correlaz.par"))); exec("gracebat -settype xy -param {$tmpdir}/para.par -hdevice EPS -hardcopy -printfile {$tmpdir}/{$bins}.{$genomelength}.pearson.eps {$tmpdir}/{$bins}.{$genomelength}.pearson.txt -saveall {$tmpdir}/{$bins}.{$genomelength}.pearson.agr"); exec("epstopdf {$tmpdir}/{$bins}.{$genomelength}.pearson.eps --outfile={$tmpdir}/{$bins}.{$genomelength}.pearson.pdf"); exec("pdfcrop {$tmpdir}/{$bins}.{$genomelength}.pearson.pdf {$tmpdir}/{$bins}.{$genomelength}.pearson.pdf"); downfile("{$tmpdir}/{$bins}.{$genomelength}.pearson.pdf"); break; case "pdfbaw": file_put_contents("{$tmpdir}/para.par", str_replace('@@rho@@', substr($mcorr, 0, 4), file_get_contents("graficatore/parfile/" . "correlaz.bw.par"))); exec("gracebat -settype xy -param {$tmpdir}/para.par -hdevice EPS -hardcopy -printfile {$tmpdir}/{$bins}.{$genomelength}.pearson.bw.eps {$tmpdir}/{$bins}.{$genomelength}.pearson.txt -saveall {$tmpdir}/{$bins}.{$genomelength}.pearson.bw.agr"); exec("epstopdf {$tmpdir}/{$bins}.{$genomelength}.pearson.bw.eps --outfile={$tmpdir}/{$bins}.{$genomelength}.pearson.bw.pdf"); exec("pdfcrop {$tmpdir}/{$bins}.{$genomelength}.pearson.bw.pdf {$tmpdir}/{$bins}.{$genomelength}.pearson.bw.pdf"); downfile("{$tmpdir}/{$bins}.{$genomelength}.pearson.bw.pdf"); break; case "txt": downfile("{$tmpdir}/{$bins}.{$genomelength}.pearson.txt", "t"); break; } break; default: echo "&error 1"; }
break; case "ownership": if (can_modify_list($info["luser"])) { echo "&true"; } else { echo "&false"; } break; case "showlist": downfile($info["ldir"] . "/list.txt", "t"); break; case "showreadme": downfile($info["ldir"] . "/readme.txt", "t"); break; case "downorig": downfile($info["ldir"] . "/original.dat"); break; case "update": update($info); header("Location: ../analizzatore/list.php?code={$info['lcode']}&user={$info['luser']}"); break; case "delete": delete_list($info); clus_head(); show_menu(); echo "List with code " . $info["lcode"]; echo " deleted<br />"; echo "<a href=\"..\">"; echo "Go to main page</a>"; clus_end(); break;
$replydb = unserialize($rsdb[reply]); $replydb[username] || ($replydb[username] = $userdb[username]); get_admin_html('reply'); } elseif ($action == "reply") { $postdb[posttime] = $timestamp; $postdb[uid] = $userdb[uid]; $content = addslashes(serialize($postdb)); $db->query("UPDATE `{$_pre}content` SET reply='{$content}' WHERE id='{$id}'"); jump("修改成功", "{$FROMURL}", 1); } elseif ($job == "download") { $rsdb = $db->get_one("SELECT * FROM `{$_pre}content` WHERE id='{$id}' "); $syspath = ROOT_PATH . $webdb[updir] . '/'; $r = explode('/', $rsdb[attachurl]); $filepath = $syspath . $r[0] . '/'; $filename = $r[1]; downfile($filepath, $filename); } function downfile($file_dir, $file_name) { if (!file_exists($file_dir . $file_name)) { echo "找不到文件"; exit; } else { $file = fopen($file_dir . $file_name, "rb"); //输入文件标签 Header("Content-type: application/file"); Header("Accept-Ranges: bytes"); Header("Accept-Length: " . filesize($file_dir . $file_name)); Header("Content-Disposition: attachment; filename=" . $file_name); //输出文件内容 echo fread($file, filesize($file_dir . $file_name));
//初始化一个cURL会话 $ch = curl_init(); //设置请求最大超时秒数 $timeout = 5; // 设置URL和相应的选项 curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // 抓取URL $lines_string = curl_exec($ch); // 关闭cURL资源,并且释放系统资源 curl_close($ch); //保存在自己的服务器上 $fileName = rand() . ".html"; $fh = fopen($fileName, 'w'); fwrite($fh, $lines_string); fclose($fh); function downfile($fileName) { $filename = realpath($fileName); //文件名 $date = date("Ymd-H:i:m"); Header("Content-type: application/octet-stream "); Header("Accept-Ranges: bytes "); Header("Accept-Length: " . filesize($filename)); header("Content-Disposition: attachment; filename= {$fileName}"); echo file_get_contents($filename); readfile($filename); } downfile($fileName); unlink($fileName);