lgy 1 day ago
parent
commit
de9a01a66d
1 changed files with 24 additions and 7 deletions
  1. 24 7
      jcjyhr/app/zskk/servies/PatientServies.php

+ 24 - 7
jcjyhr/app/zskk/servies/PatientServies.php

@@ -985,15 +985,32 @@ class PatientServies
             $hz = end($arr);
             $filePath = $_SERVER['DOCUMENT_ROOT'].'/report/'.time().rand(0,9999).'.'.$hz; // 本地文件路径
             $savePath = $_SERVER['HTTP_HOST'].'/report/'.time().rand(0,9999).'.'.$hz; // 本地文件路径
-            ob_start(); //打开输出
-            readfile($base64_string); //输出图片文件
-            $return = ob_get_contents(); //得到浏览器输出
-            if(empty($return))
-            {
+
+
+            // 检查目标 URL 是否有效
+            if (!filter_var($base64_string, FILTER_VALIDATE_URL)) {
+                return '';
+            }
+
+            // 创建流上下文并设置超时时间为 5 秒
+            $context = stream_context_create([
+                'http' => [
+                    'timeout' => 5 // 设置超时时间为 5 秒
+                ]
+            ]);
+            // 获取文件内容
+            $content = file_get_contents($url, false, $context);
+
+            // 检查是否成功获取文件内容
+            if ($content === false) {
+                return '';
+            }
+            // 保存文件到本地目录
+            $result = file_put_contents($filePath, $content);
+            // 检查是否成功保存文件
+            if ($result === false) {
                 return '';
             }
-            ob_end_clean(); //清除输出并关闭
-            file_put_contents($filePath, $return);
 
         }else{
 // 将Base64字符串分割成数据和文件类型