Este artículo contiene texto y un fotodetector
// texto recibido a detectar y el método de detección de llama pública función textCheck (la Solicitud $ solicitud ) { // $ contenido de datos de identificación de seguridad [ 'contenido'] se ha de detectar texto $ datos [ 'contenido'] = htmlspecialchars ( $ solicitud -> POST ( 'contenido' )); $ contenido = $ datos [ 'contenido' ]; $ salida = $ al este -> curlText ( $ contenido ); // sólo cuando $ output-> errcode == 0 en la revisión por SI ( $ salida -> El errcode = 0 ) { retorno JSON ([ 'código' => 500, 'MSG' => 'Contenido contiene contenido ilegal, por favor, se revisó y volvió a presentar ']); Die ; } } // para recibir la imagen detectada y la detección de llamada a un método público en función de imgCheck (la Solicitud $ solicitud ) { // Obtener formulario para subir archivos subidos por ejemplo 001.jpg $ Archivo = Request () -> Archivo ( ' archivo ' ); $ upload_path =' subidos ; $ info = $ File -> Mover ( $ upload_path ); $ PATH = $ info -> getSaveName (); // interfaz de comunicación micro verificar si la violación imagen $ salida = $ al este - > curlImages (ruta $ ); SI ( $ salida ! [ 'El errcode'] = 0 ) { retorno JSON ([ 'código' => 500, 'MSG' => 'irregularidades imagen' ]); } } // Get señal_acceso, no token para la adquisición de información de usuario pública de función getAccessToken () { $ token_file = de json_decode ( file_get_contents ( 'token.json' )); // readquirir externa válida solamente SI ( $ token_file -> expires_time < Tiempo ()) { $ AppID = $ el esta -> APPID; // applet AppID $ appsecret= $ This -> APPSERRET; // 你的小程序appsecret $ url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='. $ appid . 'Y = secretas'. $ appsecret ; $ token_json = file_get_contents ( $ url ); $ token_json = json_decode ( $ token_json ); $ token_file -> señal_acceso = $ token_json -> señal_acceso; $ token_file -> expires_time = tiempo () 7200 ; $ señal_acceso =token_json $ -> los señal_acceso; file_put_contents ( 'token.json', json_encode ( $ token_file )); } else { $ la señal_acceso = $ token_file -> el señal_acceso; } regresan $ la señal_acceso ; } // detectar si el texto contiene contenido prohibido (límite de frecuencia : el límite superior de una sola llamada APPID 1000 veces / minuto, 100.000 / día) privada función curlText ( $ contenido ) { $ señal_acceso = $ al este -> getAccessToken (); $ URL= "Https://api.weixin.qq.com/wxa/msg_sec_check?access_token=". $ Señal_acceso ; $ file_data = '{ "contenido": "'. $ content . '"}'; // $ contenidos (需要检测的文本内容,最大520KB) $ ch = curl_init (); curl_setopt ( $ ch , CURLOPT_URL, $ url ); curl_setopt ( $ ch , CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ ch , CURLOPT_SSL_VERIFYPEER, FALSO ); curl_setopt ( $ ch , opción CURLOPT_SSL_VERIFYHOST, FALSO ); curl_setopt ( $ ch, CURLOPT_POST ,. 1 ); curl_setopt ( $ CH , CURLOPT_POSTFIELDS, $ file_data ); $ salida = el curl_exec ( $ CH ); // enviar una solicitud de adquisición de resultado $ salida = de json_decode ( $ de salida , a falso ); curl_close ( $ CH ); / / cerrar la sesión de retorno $ salida ; // return result } // detectar si la imagen contiene contenido prohibido privada de función curlImages ( $ path ) { $ señal_acceso = $ al este -> getAccessToken (); //Búscate la señal_acceso $ url = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=." $ Señal_acceso ; $ ruta_archivo . = 'Cargas /' $ ruta ; // aceptar el archivo guardado archivos de forma local dirección de $ file_data = array ( "Media" => nueva nueva \ CURLFile ( $ ruta_archivo )); $ CH = curl_init (); curl_setopt ( $ CH , CURLOPT_URL a, $ URL ); curl_setopt ( $ CH , CURLOPT_RETURNTRANSFER ,. 1 ); curl_setopt ( CH $ , CURLOPT_SSL_VERIFYPEER, FALSO ); curl_setopt ( $ CH , opción CURLOPT_SSL_VERIFYHOST, FALSO ); curl_setopt ( $ CH , CURLOPT_POST ,. 1 ); curl_setopt ( $ CH , CURLOPT_POSTFIELDS, $ file_data ); $ salida = la curl_exec ( $ CH ); // enviar un resultado solicitud de adquisición curl_close ( $ CH ); // Cerrar sesión $ salida = de json_decode ( $ salida , a la verdadera ); retorno $ salida ; }