TestController.php 23 KB

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