2010-07-14 2 views
2

나는 오류가 표시 될 때까지 최대 3 번 다른 PHP 스크립트를 다시 시도하는 PHP 스크립트를 만들려고합니다. 아마 이것은 PHP 루프를 사용하여 수행 할 수 있다고 생각하고있어? 코드가 처음 성공적으로 실행되면 3 회 재 시도 할 필요가 없지만 처음 작동하지 않으면 오류 메시지가 표시 될 때까지 PHP 스크립트를 최대 3 회 재 시도해야합니다 .성공 또는 오류까지 PHP 재시도 스크립트

PHP 코딩을 사용하여 필자는 "file_get_contents"를 사용하여 다른 위치에서 콘텐츠를 가져 오거나 가져 오는 스크립트를 작성한 다음 각 단어/데이터에 PHP 변수를 제공합니다. 이 모든 stackoverflow (나는 매우 감사)에 다른 회원으로부터 도움을 얻은했다. 아래의 코드는 그 모든 것입니다 :

$searchdata = file_get_contents('http://www.example.com'); 

list($no1, $no2, $no3, $no4, $no5, 
    $no6, $no7, $no8, $no9) = explode(" ", $searchdata); 

그래서,이 스크립트를 최대 3 번 반복하는 루프를 추가하고 싶습니다. 처음으로 작동하지 않는 경우. 스크립트가 첫 번째/두 번째/세 번째 시간에 작동하는지 여부를 확인하려면 "file_get_contents"를 사용할 때 텍스트 "#endofscript"또는 "failure"를 찾아야합니다. "#endofscript"또는 "failure"이외의 다른 것이 표시되면 오류로 간주해야하며 발견 될 때까지 반복해야합니다. 세 번째 시도 후에도 오류 메시지가 계속 나타나지 않으면 오류 메시지가 표시 될 수 있습니까? "오류 - 다시 시도하십시오."

귀하의 모든 도움에 감사 드리며 각 각의 답변에 감사드립니다. 자세한 내용이 필요하면 언제든지 문의하십시오. 그리고 다시, 나는 이것에 정말로 감사한다. :)

답변

6
$maxTries = 3; 
for ($try=1; $try<=$maxTries; $try++) { 
    // your code 
    if ($success) { 
     break; 
    } 
} 

// if $try > 3, script failed 
+0

안녕하세요 webbiedave, 나는 매우 당신의 회신을 감사드립니다 :). 코드가 약간 작동하는 방식을 이해하지만 코드가 "$ success"변수가 비어있는 시점을 알 수없는 순간을 믿습니다. "#endofscript"및 "failure"텍스트를 성공으로 통합하고 오류로 다른 것을 어떻게 만들려고합니까? 또한 세 번째로 작동하지 않는다면 오류 메시지를 표시하는 방법은 무엇입니까? 친절하고, 귀하의 답변에 진심으로 감사드립니다. – AUllah1

+0

약 :'if ($ no9 == '#endofscript') {$ success = true; } else {$ success = false; }'와'if ($ try> 3) {echo 'Error - 다시 시도하십시오'; }' – webbiedave

+0

회신 webbiedave 주셔서 감사합니다, 정말 그들에게 감사드립니다. 그 코드들은 그들이 일을 할 수있는 것처럼 보이지만, 어떻게 통합 할 것인가? 그들은 다음과 같이 보일까요? $ maxTries = 3; ($ try = 1; $ try <= $ maxTries; $ try ++) { // 코드 if ($ no9 == '#endofscript') {$ success = true; } else {$ success = false; } { 휴식; } if ($ try> 3) {echo '오류 - 다시 시도하십시오'; } } 또한 오류 메시지가 표시되면 PHP 변수로 사용할 수 있습니까? 그래서 내가 페이지에 어디에 다른 메시지를 표시 할 수 있습니까? – AUllah1

관련 문제