TestController.php 23 KB

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