לולאת while שלא מסתיימת
שלום אני מנסה להשתמש בלולאת while, ומשום מה, למרות שהתנאי מתקיים, הלולאה לא מסתיימת. אני מנסה למצוא קובץ במחיצת נושא מסויים, בתוכה, המחיצות נקראות לפי השנה, במידה והקובץ לא נמצא, יש לנסות במחיצה של שנה שעברה .... (לולאה), עד שמוצאים. הנה הקוד, אודה לעוזרים
שלום אני מנסה להשתמש בלולאת while, ומשום מה, למרות שהתנאי מתקיים, הלולאה לא מסתיימת. אני מנסה למצוא קובץ במחיצת נושא מסויים, בתוכה, המחיצות נקראות לפי השנה, במידה והקובץ לא נמצא, יש לנסות במחיצה של שנה שעברה .... (לולאה), עד שמוצאים. הנה הקוד, אודה לעוזרים
$curr_year=DATE(Y); // yyyy $yy=substr($curr_year,2,2); chdir ('main_dir'); $found_file = false; while ($found_file = false) { $folder_name = "doch".$yy; if(is_dir($folder_name)) { echo "dir ".$folder_name." exist !<br>"; chdir ($folder_name); // 1 level up $file_name = "file_for".$yy.".htm"; if(file_exists($file_name)) { $found_file = true; // set true, no more loop needed echo "file ".$file_name." exist !<br><br>"; } else // if_file { chdir ('../'); // back 1 level echo getcwd()." cwd after back<br>"; // show me curr dir } } else // if_dir { echo "dir ".$folder_name." not exist !<br>"; } $save_year = $yy; $curr_year -= 1; // we need to check prev year $yy=substr($curr_year,2,2); } // end while
פקודות ה- echo מראות לי שהלולאה עובדת בסדר, אבל גם כשנמצא הקובץ, והתנאי מתקיים, הלולאה ממשיכה. כל עזרה בפתרון הבעייה תתקבל בהמון תודה. שמוליק