9999) { $answer = "Nothing special" ; } else { $content = file_get_contents('numbers.txt') ; $pos = strpos($content, '=' . $valOne . '=') ; if($pos === false) { $answer = "Nothing special" ; } else { $pos = $pos + strlen('=' . $valOne . '=') ; $pos2 = strpos($content, "\n", $pos) ; // ($pos2 - $pos) > 255 : si jamais il y a un bug dans mon fichier de nombres if($pos2 === false || ($pos2 - $pos) > 255) { $answer = "Nothing special" ; } else { $answer = $valOne . ' ' . substr($content, $pos, $pos2 - $pos) ; } } } // sauvegarde la réponse dans un fichier saveAnswer($requestId, $answer) ; // tente de passer la réponse par cookie setcookie("reponseserveur", $answer) ; // lis les deux prochains tokens à retourner lireDeuxChar($answer, 0, $token1, $token2) ; // génère l'image aux bonnes dimensions outputImage($token1, $token2) ; } else { outputImage('!','!') ; exit() ; } //================================ // Lis les deux prochains caractères à retourner //================================ function lireDeuxChar($reponse, $posDepart, &$token1, &$token2) { global $VALSTOP ; $repLen = strlen($reponse) ; if($repLen > $posDepart) { $token1 = $reponse[$posDepart] ; if(ord($token1) > 255) { $token = ' ' ; } } // aucun char à retourner else { $token1 = $VALSTOP ; $token2 = $VALSTOP ; } if($repLen > $posDepart + 1) { $token2 = $reponse[$posDepart + 1] ; if(ord($token2) > 255) { $token2 = ' ' ; } } // dernier char lu else { $token2 = $VALSTOP ; } } //================================ // Sauvegarde une réponse dans un fichier //================================ function saveAnswer($requestId, $answer) { $f = fopen('./answers/' . $requestId, 'w') ; fwrite($f, $answer) ; fclose($f) ; } //================================ // Génère l'image aux bonnes dimensions //================================ function outputImage($caractere1, $caractere2) { global $VALSTOP ; if($caractere1 != $VALSTOP) { $caractere1 = ord($caractere1) ; } if($caractere2 != $VALSTOP) { $caractere2 = ord($caractere2) ; } $img = imagecreatetruecolor($caractere1, $caractere2); header("Expires: Sun, 1 Jan 2000 12:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); header("Content-Type: image/gif"); imagegif($img); imagedestroy($img); } ?>