setCurlOptions(CURLOPT_CONNECTTIMEOUT, 10); $curlHandle->setCurlOptions(CURLOPT_URL, $camasURL . '/cgi-bin/file'); $curlHandle->setCurlOptions(CURLOPT_USERAGENT, $userAgent); $ret = $curlHandle->uploadFile($fileToUpload); //submit file $reply = $curlHandle->getTransferDetails(); //retrieve results $err = $curlHandle->getLastError(); //retrieve any error messages if($reply['http_code'] == 200 ) {//file was received by the server, continue $curlHandle->setCurlOptions(CURLOPT_URL, $camasURL . $ret); $i=0; do{ $ret = explode("\n", $curlHandle->submitData('get') ); $reply = $curlHandle->getTransferDetails(); $verdict = trim(substr($ret[0], strpos($ret[0],"=")+1)); sleep(5); }while($verdict === 'Analysing' ); switch($verdict) { case 'Suspicious': case 'Suspicious+': case 'Suspicious++': $repUrl = trim(substr($ret[1], strpos($ret[1],"=")+1)); $curlHandle->setCurlOptions(CURLOPT_URL, $repUrl); $report = $curlHandle->submitData('get'); echo '{ "error" : "false", "msg" : "The file submitted has been found as: '. $verdict .'", "url" : "'. $repUrl .'" }'; break; case 'Malware': $virus = trim(substr($ret[1], strpos($ret[1],"=")+1)); echo '{ "error" : "false", "msg" : "The file submitted has been detected as malware: '. $virus .'!", "url" : "" }'; break; case 'Undetected': echo '{ "error" : "false", "msg" : "The file submitted has been found as: Safe ", "url" : "" }'; break; default: echo '{ "error" : "false", "msg" : "The file submitted has been found as: '. $verdict .'", "url" : "" }'; } }else{ echo '{ "error" : "true", "msg" : "An error occured while submitting the file for analysis. Please wait a few minutes and try again. Thank you for your understanding.", "url" : "" }'; } //clear objects unset($curlHandle); ?>