<?php function mtrand() { $str = \'ABCDEFGHIGKLMNOPQRSTUVWXYZ123456789\'; $str = str_shuffle($str); $str = substr($str, 0, 8); return $str; } function getMulu() { $date = date(\'Y/m/d/\', time()); return $date; } function shortenSinaUrl($long_url) { $apiKey = \'1252439662\'; $apiUrl = \'http://api.t.sina.com.cn/short_url/shorten.json?source=\' . $apiKey . $long_url; $curlObj = curl_init(); curl_setopt($curlObj, CURLOPT_URL, $apiUrl); curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curlObj, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($curlObj, CURLOPT_HEADER, 0); curl_setopt($curlObj, CURLOPT_HTTPHEADER, array( \'Content-type:application/json\' )); $response = curl_exec($curlObj); curl_close($curlObj); $json = json_decode($response); $arr = array(); foreach ($json as $v) { $arr[] = $v->url_short; } return $arr; } function downfile($fileurl) { ob_start(); $filename = $fileurl; $date = date("Ymd-H:i:m"); header("Content-type: application/octet-stream "); header("Accept-Ranges: bytes "); header("Content-Disposition: attachment; filename= {$date}.txt"); $size = readfile($filename); header("Accept-Length: " . $size); } set_time_limit(0); if (!empty($_POST[\'submit\'])) { if ($_FILES[\'file\'][\'error\'] == 0) { if ($_FILES[\'file\'][\'type\'] == \'text/plain\') { $baseurl = dirname(__FILE__)."/upload/"; $url = $baseurl . getMulu(); if (!is_dir($url)) { mkdir($url, 0777, true); } $file_dizhi = $url . mtrand(); $rs = move_uploaded_file($_FILES["file"]["tmp_name"], $file_dizhi.\'.txt\'); if ($rs) { //读取文件 $file = fopen($file_dizhi.\'.txt\', "r"); $xieru_txt = \'\'; $num = 0; $temp_url = \'\'; while (!feof($file)) { $temp_url .= \'&url_long=\'.urlencode(trim(fgets($file))); $num++; if($num%20 == 0){ $rs = shortenSinaUrl($temp_url); $xieru_txt .= implode("\r\n", $rs); $xieru_txt .= "\r\n"; $temp_url = \'\'; } } fclose($file); file_put_contents($file_dizhi.\'_xieru.txt\', $xieru_txt); downfile($file_dizhi.\'_xieru.txt\'); exit; } } else { echo \'请上传txt文件\'; } } else { echo \'上传失败\'; } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>短网址服务</title> </head> <body> <form action="" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" name="submit" value="提交"> </form> </body> </html>