TestController.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607
  1. <?php
  2. namespace app\api\controller\test;
  3. use app\api\controller\ZskkDefaultController;
  4. use app\api\dao\xz\XzDao;
  5. use app\api\model\api\ApiModel;
  6. use app\api\model\department\DepartmentModel;
  7. use app\api\model\doctor\DoctorModel;
  8. use app\api\model\dr\DrModel;
  9. use app\api\model\exam\ExamModel;
  10. use app\api\model\institution\InstitutionModel;
  11. use app\api\model\rcontact\RcontactModel;
  12. use app\api\model\rcost\RcostModel;
  13. use app\api\model\remote\RemoteModel;
  14. use app\api\model\report\ReportModel;
  15. use app\api\model\share\ShareModel;
  16. use app\api\servies\butt\ButtService;
  17. use app\api\servies\qc\QcService;
  18. use app\api\servies\report\ReportService;
  19. use app\api\servies\template\TemplateService;
  20. use app\api\servies\xz\XzService;
  21. use app\api\validate\template\TemplateValidate;
  22. use app\api\validate\test\TestValidate;
  23. use app\api\servies\test\TestService;
  24. use app\api\utils\MsgUtils;
  25. use app\common\library\MacIp;
  26. use app\common\library\ucloud\Proxy;
  27. use app\common\library\send_message;
  28. use app\common\library\uploadToCloud;
  29. use Aws\S3\S3Client;
  30. use Aws\Test\S3\S3ClientTest;
  31. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  32. use think\Exception;
  33. use think\exception\DbException;
  34. use think\exception\PDOException;
  35. use think\facade\Cache;
  36. use app\api\utils\UUIDUtils;
  37. use think\Db;
  38. use think\facade\Log;
  39. use think\facade\Request;
  40. use think\file\UploadedFile;
  41. use think\Session;
  42. use function fast\e;
  43. use PHPExcel_IOFactory;
  44. use Mpdf\Mpdf;
  45. use TCPDF;
  46. use SoapDiscovery;
  47. use SoapClient;
  48. use OSS\OssClient;
  49. use OSS\Core\OssException;
  50. use think\Controller;
  51. use PHPMailer\PHPMailer\PHPMailer;
  52. use Zend\Mail\Message;
  53. use Zend\Mail\Transport\Smtp as SmtpTransport;
  54. use Zend\Mail\Protocol;
  55. use Zend\Mime\Part;
  56. class TestController extends Controller
  57. {
  58. protected $needToken = false;
  59. protected $logName = "TestController";
  60. public function testQc20250123(QcService $qcService) {
  61. $qcService->testAnalysis();
  62. }
  63. public function get()
  64. {
  65. $images_data = array(
  66. array("name" => "Tom", "IMAGENUMBER" => "80"),
  67. array("name" => "Mary", "IMAGENUMBER" => "90"),
  68. array("name" => "Jack", "IMAGENUMBER" => "85"),
  69. );
  70. // 按成绩升序排序
  71. $sort = array();
  72. foreach ($images_data as $k_i=>$v_i)
  73. {
  74. $sort[$k_i] = $v_i['IMAGENUMBER'];
  75. }
  76. array_multisort($sort, SORT_ASC, $images_data);
  77. // 输出结果
  78. var_dump($images_data);die;
  79. foreach ($students as $row) {
  80. echo $row["name"] . $row["score"];
  81. }
  82. }
  83. public function testOne(TestService $test) {
  84. var_dump(1);die;
  85. $url = "http://111.53.165.106:9605/zskk/patient/syncExams";
  86. $data = [
  87. 'studyUid'=>'123asd123',
  88. 'study_id'=>'fghjkl'
  89. ];
  90. $a = $this->curlPost($url,$data);
  91. var_dump($a);die;
  92. try{
  93. $a = (InstitutionModel::where('ids',1)->find());
  94. }catch (Exception $e){
  95. var_dump($e->getMessage());die;
  96. }
  97. var_dump($a);
  98. die;
  99. $a = 'mGcripTrD+kUDwhjHsB8TfDeo4obPs4vDFVeTR/iHGFMfYqiBktDQ7BXrxMjQJUz/wUHnfZcKH2JjfffOVzfzAatupwpiGFqsnTyhxJ7kJYxMu8Wv5v6twocWPx6Eqb7';
  100. $key = '1234567890000';
  101. $method = 'aes-128-ecb';
  102. // $encrypted = openssl_encrypt($a,'AES-128-ECB',$key,OPENSSL_RAW_DATA);
  103. $decrypted = openssl_decrypt(base64_decode($a),'AES-128-ECB',$key,OPENSSL_RAW_DATA);
  104. var_dump($decrypted);die;
  105. // $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length($method));
  106. $iv = openssl_random_pseudo_bytes(openssl_cipher_iv_length('aes-128-ecb'));
  107. $encrypted = openssl_encrypt($a, 'AES-128-CBC', $key,0,$iv);
  108. var_dump($encrypted);
  109. $decrypted = openssl_decrypt($encrypted, 'AES-128-CBC', $key,0,$iv);
  110. var_dump($decrypted);die;
  111. var_dump(mail('912540678@qq.com','test','test','company@pacsonline.cn'));
  112. die;
  113. phpinfo();die;
  114. $phone = '13763459789';
  115. $institution = '介休市人民医院';
  116. $a = send_message::sendReportShortMessage($phone,$institution);
  117. var_dump(date('Y-m-d H:i:s'));
  118. var_dump($a);die;
  119. var_dump(ApiModel::column('id,action'));die;
  120. set_time_limit(0);
  121. $data = Db::table('exams')->where('institution_id','43600001')->where("name like '%T'")->field('id,name')->select();
  122. foreach ($data as $k=>$v)
  123. {
  124. Db::table('exams')->where('id',$v['id'])->update(['name'=>trim(trim($v['name'],'t'))]);
  125. }
  126. echo 'over';
  127. // var_dump($data);
  128. die;
  129. $this->get();
  130. die;
  131. $info = '141.71';
  132. var_dump(base64_encode(iconv('UTF-8','GBK',$info)));
  133. $noteId = '312265';
  134. var_dump( base64_encode(str_pad(base_convert($noteId,10,36),6,'0',STR_PAD_LEFT)));die;
  135. echo 'over';die;
  136. echo strtotime('20240422010101');
  137. echo '<br>';
  138. echo strtotime('2024-04-22 01:01:01');die;
  139. phpinfo();die;
  140. print_r(UUIDUtils::uuid());
  141. die;
  142. $this->get();
  143. die;
  144. }
  145. public function getAllExam($id)
  146. {
  147. set_time_limit(0);
  148. $exam = ExamModel::where('institution_id',$id)->where('status',1)->order('createdAt asc')->limit(1,10)->select();
  149. foreach ($exam as $k=>$v)
  150. {
  151. // $url = "https://query.pacsonline.cn/query/key?study_id=".$v['study_id'];
  152. $url = "https://query.pacsonline.cn/query/key?study_id=56d52d2d09ee920942ee198adb0f6712";
  153. $data = $this->curl_get($url);
  154. $data = json_decode($data,true);
  155. foreach ($data as $value)
  156. {
  157. $key = $value;
  158. var_dump($key);
  159. $this->langchao($key,$v['institution_id']);
  160. }
  161. }
  162. }
  163. public function excel()
  164. {
  165. $data = DB::table('institution')->field('id,name,province,createdAt')->order('province')->select();
  166. $array = [];
  167. foreach ($data as $k=>$v)
  168. {
  169. if(!empty($v['province']))
  170. {
  171. $time = explode(' ',$v['createdat']);
  172. $num = '';
  173. $num = DB::table('exams')->where('institution_id',$v['id'])->where("createdAt>DATE_SUB(CURDATE(), INTERVAL 1 MONTH)")->count();
  174. $ins = ['name'=>$v['name'],'province'=>$v['province'],'num'=>$num,'createdat'=>$time[0]];
  175. $array[] = $ins;
  176. }
  177. }
  178. $this->expExcel($array);
  179. }
  180. public function down()
  181. {
  182. $a = [];
  183. $data = [];
  184. foreach ($a as $k=>$v)
  185. {
  186. if($k == 0)
  187. {
  188. continue;
  189. }
  190. $b = explode('hls/',$v);
  191. $c = explode('.',$b[1]);
  192. $data[$c[0]] = $k;
  193. }
  194. var_dump($data);die;
  195. $this->rename();
  196. }
  197. public function insertMessage()
  198. {
  199. // $institution = Db::table('institution')->where(" id not like '%730900%'")->where('id','not in',$ids)->select();
  200. $institution = Db::table('institution')->select();
  201. $insert = [];
  202. foreach ($institution as $v)
  203. {
  204. // $time = Db::table('exams')->where('institution_id',$v['id'])->min('createdAt');
  205. // $s = strtotime($time);
  206. // if($s > strtotime('2021-10-01'))
  207. // {
  208. // echo '`'.$v['id']; echo " ";
  209. // echo $v['name'];
  210. // echo "<br>";
  211. // }
  212. $html = "<div>为了给您提供更好、更稳定的服务,冠医云平台将在2022年8月15日到8月20日每天20:00-24:00、00:00-06:00进行升级。期间系统会偶尔出现分钟级的访问不可达或波动,如遇到异常请您稍后重试,感谢您的理解与支持!</div>";
  213. $info = [
  214. 'id'=>UUIDUtils::uuid(),
  215. 'title'=>'紧急通知',
  216. 'is_read'=>0,
  217. 'content'=>$html,
  218. 'type'=>10,
  219. 'institution_id'=>$v['id']
  220. ];
  221. Db::table('messages')->insert($info);
  222. }
  223. die;
  224. }
  225. public function rename()
  226. {
  227. $path = './dcm/';
  228. $path1 = './video/';
  229. $d = scandir($path);
  230. unset($d[0]);
  231. unset($d[1]);
  232. $file = array_values($d);
  233. foreach ($file as $k=>$v)
  234. {
  235. $arr = explode('.',$v);
  236. $num = str_replace('index','',$arr[0]);
  237. if($num < 10)
  238. {
  239. $name = '1000'.$num;
  240. }elseif(10 <= $num && $num < 100)
  241. {
  242. $name = '100'.$num;
  243. }elseif(100 <= $num && $num < 1000)
  244. {
  245. $name = '10'.$num;
  246. }elseif(1000 <= $num && $num < 10000)
  247. {
  248. $name = '1'.$num;
  249. }else{
  250. $name = $num;
  251. }
  252. $name = $name.'.'.$arr[1];
  253. copy($path.$v,$path1.$name);
  254. }
  255. }
  256. public function getDcmUrl()
  257. {
  258. $ids = [
  259. '050cf8b8bab853f2b7114ec2832eb1aa',
  260. '9bc1e5c969868eefb6601e22cfa71ff5',
  261. '8ae04e9bfe285b99a4d21d222e334bc8',
  262. '329caacb9ce20483e811c397a9cbb94f',
  263. 'd8ce01ac97786a77e961bebb5e343344',
  264. '79165ca479770ed5224d478bd6238f59',
  265. '9383ce5b645a095a2a6dbdc820d32c26',
  266. 'f4a253e66d47f0b1602f37839ad9e8da',
  267. '1aa32590c9989ba753f20741e0a62c20',
  268. 'd1fd00f02a494b6ec9c6545e84d9d978',
  269. 'f1cca331ce2da21cfef02645165e6cb7',
  270. 'c37e60d68b282f3795d0ba6cda50a77b',
  271. '6c353110bb4a35551b49164a98609dd3',
  272. '76e72996c320e22371094f8b298e197d',
  273. 'b9beaf63c3170f32d6c188c8a265f36f',
  274. '8fb237cf11a64a13e0b8b79257b135f0',
  275. '14a6904c2f6dc4fd3664fa1549c5cbb9'
  276. ];
  277. ini_set('max_execution_time', 6000);
  278. $ids = DB::table('exams')
  279. ->where('study_id','in',$ids)
  280. // ->alias('e')
  281. // ->join(['report'=>'r'],'r.exam_id=e.id and r.type=1')
  282. // ->where("e.body_part='chest'")
  283. // ->where('e.exam_status',9)
  284. // ->where("r.description not like '%结节%'")
  285. // ->where("r.impression not like '%结节%'")
  286. // ->where("e.exam_class='CT'")
  287. // ->page(3,10)
  288. // ->order('e.createdAt desc')
  289. // ->field('e.study_id,e.name,r.description,r.impression,e.createdAt')
  290. ->select();
  291. $array = [];
  292. foreach ($ids as $k=>$v)
  293. {
  294. $i = 1;
  295. $info = [];
  296. $list = [];
  297. $study = $v['study_id'];
  298. $name = $v['name'];
  299. $url = "https://parsecallback.pacsonline.cn/study/query?address=&study_id=$study";
  300. $info = $this->curl_get($url);
  301. $a = json_decode($info,true);
  302. $list= $a['studies'][0]['seriesList'];
  303. if(!empty($list))
  304. {
  305. foreach ($list as $k1=>$v1)
  306. {
  307. $ins = [];
  308. $ins = $v1['instances'];
  309. foreach ($ins as $v2)
  310. {
  311. $file = '';
  312. $url = str_replace('dicomweb','https',$v2['url']);
  313. $file=$this->curl_get($url);
  314. if($file){
  315. $uploads_dir = './dcm/'.$study.'/'.$v2['series_id'].'/';
  316. if (!file_exists($uploads_dir)) {
  317. mkdir($uploads_dir,0777,true);
  318. }
  319. $path=file_put_contents($uploads_dir.$i.'.dcm',$file);
  320. if(!$path){
  321. var_dump($i);
  322. }
  323. }
  324. // $data = ['url'=>$url];
  325. $data = ['url'=>$url,'name'=>$name];
  326. $array[] = $data;
  327. $i++;
  328. }
  329. }
  330. }
  331. }
  332. echo 'over';
  333. // return $array;
  334. // var_dump($array);die;
  335. // $this->expExcel($array);die;
  336. }
  337. public function expExcel($con)
  338. {
  339. // 1.选取表中要输出数据
  340. // $con = array(
  341. // [
  342. // 'id' => 1,
  343. // 'name' => '名字',
  344. // 'image' => '头像'
  345. // ],
  346. // [
  347. // 'id' => 2,
  348. // 'name' => '名字2',
  349. // 'image' => '头像2'
  350. // ],
  351. //
  352. // );
  353. //没有第二部
  354. require_once(CORE_PATH . '/../../../vendor/phpoffice/phpexcel/Classes/PHPExcel.php');
  355. //3.实例化PHPExcel类
  356. $objPHPExcel = new \PHPExcel();
  357. //4.激活当前的sheet表
  358. $objPHPExcel->setActiveSheetIndex(0);
  359. //5.设置表格头(即excel表格的第一行)
  360. $objPHPExcel->setActiveSheetIndex(0)
  361. ->setCellValue('A1', '医院名称')
  362. ->setCellValue('B1', '检查数量')
  363. ->setCellValue('C1', '患者数量')
  364. ->setCellValue('D1', '已绑定的检察数')
  365. ->setCellValue('E1', '远程诊断发起数量')
  366. ->setCellValue('F1', '远程诊断接受数量')
  367. ->setCellValue('G1', '安装日期')
  368. ->setCellValue('H1', '最后上传时间');
  369. // 设置表格头水平居中
  370. $objPHPExcel->setActiveSheetIndex(0)->getStyle('A1')->getAlignment()
  371. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  372. $objPHPExcel->setActiveSheetIndex(0)->getStyle('B1')->getAlignment()
  373. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  374. $objPHPExcel->setActiveSheetIndex(0)->getStyle('C1')->getAlignment()
  375. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  376. $objPHPExcel->setActiveSheetIndex(0)->getStyle('D1')->getAlignment()
  377. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  378. // $objPHPExcel->setActiveSheetIndex(0)->getStyle('E1')->getAlignment()
  379. // ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  380. // $objPHPExcel->setActiveSheetIndex(0)->getStyle('F1')->getAlignment()
  381. // ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  382. // $objPHPExcel->setActiveSheetIndex(0)->getStyle('G1')->getAlignment()
  383. // ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  384. //设置列水平居中
  385. $objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()
  386. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  387. $objPHPExcel->setActiveSheetIndex(0)->getStyle('B')->getAlignment()
  388. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  389. $objPHPExcel->setActiveSheetIndex(0)->getStyle('C')->getAlignment()
  390. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  391. $objPHPExcel->setActiveSheetIndex(0)->getStyle('D')->getAlignment()
  392. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  393. $objPHPExcel->setActiveSheetIndex(0)->getStyle('E')->getAlignment()
  394. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  395. $objPHPExcel->setActiveSheetIndex(0)->getStyle('F')->getAlignment()
  396. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  397. $objPHPExcel->setActiveSheetIndex(0)->getStyle('G')->getAlignment()
  398. ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  399. //设置单元格宽度
  400. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(30);
  401. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(10);
  402. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(10);
  403. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(10);
  404. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(10);
  405. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('F')->setWidth(30);
  406. $objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('G')->setWidth(30);
  407. //6.循环刚取出来的数组,将数据逐一添加到excel表格。
  408. for ($i = 0; $i < count($con); $i++) {
  409. $objPHPExcel->getActiveSheet()->setCellValue('A' . ($i + 2), $con[$i]['ins']);//
  410. $objPHPExcel->getActiveSheet()->setCellValue('B' . ($i + 2), $con[$i]['exams']);//姓名
  411. $objPHPExcel->getActiveSheet()->setCellValue('C' . ($i + 2), $con[$i]['patient']);//姓名
  412. $objPHPExcel->getActiveSheet()->setCellValue('D' . ($i + 2), $con[$i]['bind']);//姓名
  413. $objPHPExcel->getActiveSheet()->setCellValue('E' . ($i + 2), $con[$i]['send']);//姓名
  414. $objPHPExcel->getActiveSheet()->setCellValue('F' . ($i + 2), $con[$i]['get']);//姓名
  415. $objPHPExcel->getActiveSheet()->setCellValue('G' . ($i + 2), $con[$i]['time']);//姓名
  416. $objPHPExcel->getActiveSheet()->setCellValue('H' . ($i + 2), $con[$i]['max']);//姓名
  417. }
  418. //7.设置保存的Excel表格名称
  419. $filename = 'user' . date('ymd', time()) . '.xls';
  420. //8.设置当前激活的sheet表格名称
  421. $objPHPExcel->getActiveSheet()->setTitle('user');
  422. //9.设置浏览器窗口下载表格
  423. header("Content-Type: application/force-download");
  424. header("Content-Type: application/octet-stream");
  425. header("Content-Type: application/download");
  426. header('Content-Disposition:inline;filename="' . $filename . '"');
  427. //生成excel文件
  428. $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
  429. //下载文件在浏览器窗口
  430. $objWriter->save('php://output');
  431. exit;
  432. }
  433. function http_get_data($url) {
  434. $ch = curl_init ();
  435. curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
  436. curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
  437. curl_setopt ( $ch, CURLOPT_URL, $url );
  438. ob_start ();
  439. curl_exec ( $ch );
  440. $return_content = ob_get_contents ();
  441. ob_end_clean ();
  442. $return_code = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
  443. return $return_content;
  444. // $return_content = http_get_data($url);
  445. // $filename = 'test3.jpg';
  446. // $fp= @fopen($filename,"a"); //将文件绑定到流
  447. // fwrite($fp,$return_content); //写入文件
  448. }
  449. function curl_get($url){
  450. $header = array(
  451. 'Accept: application/json',
  452. );
  453. $curl = curl_init();
  454. //设置抓取的url
  455. curl_setopt($curl, CURLOPT_URL, $url);
  456. //设置头文件的信息作为数据流输出
  457. curl_setopt($curl, CURLOPT_HEADER, 1);
  458. // 超时设置,以秒为单位
  459. // curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  460. // 超时设置,以毫秒为单位
  461. // curl_setopt($curl, CURLOPT_TIMEOUT_MS, 500);
  462. // 设置请求头
  463. curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
  464. //设置获取的信息以文件流的形式返回,而不是直接输出。
  465. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  466. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  467. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  468. //执行命令
  469. $data = curl_exec($curl);
  470. if (curl_error($curl)) {
  471. print "Error: " . curl_error($curl);
  472. } else {
  473. // 打印返回的内容
  474. // var_dump($data);
  475. curl_close($curl);
  476. }
  477. // return $data;
  478. }
  479. public function getCurl($url)
  480. {
  481. $ch = curl_init();
  482. curl_setopt($ch, CURLOPT_URL,$url);
  483. curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  484. curl_setopt($ch, CURLOPT_POST,1);
  485. $output = curl_exec($ch);
  486. curl_close($ch);
  487. echo $output;
  488. }
  489. function curlPost($url, $data) {
  490. //初使化init方法
  491. $ch = curl_init();
  492. //指定URL
  493. curl_setopt($ch, CURLOPT_URL, $url);
  494. //设定请求后返回结果
  495. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  496. //声明使用POST方式来进行发送
  497. curl_setopt($ch, CURLOPT_POST, 1);
  498. //发送什么数据呢
  499. curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
  500. //忽略证书
  501. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  502. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
  503. //忽略header头信息
  504. curl_setopt($ch, CURLOPT_HEADER, 0);
  505. //设置超时时间
  506. // curl_setopt($ch, CURLOPT_TIMEOUT, 10);
  507. //发送请求
  508. $output = curl_exec($ch);
  509. //关闭curl
  510. curl_close($ch);
  511. //返回数据
  512. return $output;
  513. }
  514. function t() {
  515. // echo 2;
  516. $email = '951002432@qq.com';
  517. $name = '测试';
  518. $dcmPath = '';
  519. $mail = new PHPMailer(true);
  520. $mail->CharSet ="UTF-8"; //设定邮件编码
  521. $mail->SMTPDebug = 0; // 调试模式输出
  522. $mail->isSMTP(); // 使用SMTP
  523. $mail->Host = 'smtp.exmail.qq.com'; // SMTP服务器
  524. $mail->SMTPAuth = true; // 允许 SMTP 认证
  525. $mail->Username = 'company@pacsonline.cn'; // SMTP 用户名 即邮箱的用户名
  526. $mail->Password = 'Zskk1234'; // SMTP 密码 部分邮箱是授权码(例如163邮箱)
  527. $mail->SMTPSecure = 'ssl'; // 允许 TLS 或者ssl协议
  528. $mail->Port = 465;
  529. // $mail->SMTPOptions = [
  530. // 'ssl' => [
  531. // 'verify_peer' => false,
  532. // 'verify_peer_name' => false,
  533. // 'allow_self_signed' => true
  534. // ]
  535. // ];
  536. $mail->SMTPOptions = array(
  537. 'ssl' => array(
  538. 'verify_peer' => false,
  539. 'verify_peer_name' => false,
  540. 'allow_self_signed' => true
  541. )
  542. ); // 服务器端口 25 或者465 具体要看邮箱服务器支持
  543. $mail->setFrom('company@pacsonline.cn', '冠医云'); //发件人
  544. $mail->addAddress($email, ''); // 收件人
  545. //$mail->addAddress('ellen@example.com'); // 可添加多个收件人
  546. $mail->addReplyTo('company@pacsonline.cn', '冠医云'); //回复的时候回复给哪个邮箱 建议和发件人一致
  547. //$mail->addCC('cc@example.com'); //抄送
  548. //$mail->addBCC('bcc@example.com'); //密送
  549. $zipPath = ROOT_PATH . 'public';
  550. // $maxsize = 45 * 1024 * 1024;
  551. $mail->Subject = $name.'影像';
  552. // if(filesize($zipPath.'/'.$dcmPath) < $maxsize)
  553. // {
  554. // //发送附件
  555. //// $mail->addAttachment($zipPath.'a.zip'); // 添加附件
  556. // $mail->addAttachment($zipPath.'/'.$dcmPath, $name.'.zip'); // 发送附件并且重命名
  557. // $mail->Body = "链接将于".date('Y-m-d',time()+10*24*3600)."失效,请即时下载";
  558. // $mail->AltBody = "链接将于".date('Y-m-d',time()+10*24*3600)."失效,请即时下载";
  559. // }else{
  560. //发送链接地址
  561. //Content
  562. $mail->isHTML(true);
  563. $mail->Body = "<a href='https://tempjn2.eos.jinan-4.cmecloud.cn/$dcmPath'>下载".$name."影像</a>"."<br>链接将于".date('Y-m-d',time()+3*24*3600)."失效,请及时下载";
  564. $mail->send();
  565. return '1';
  566. }
  567. }