используя in_array или strstr, но оператор if, кажется, не работает правильно - PullRequest
0 голосов
/ 24 октября 2011

Ниже приведен мой код для вопроса, упомянутого в заголовке:

                $folder = '/net/comp/home/data/';
                $files1 = scandir($folder);
                $analysisno=($row['ANALYSIS_NUMBER']); //e.g.11wa666
                //if ($test = strstr($folder,'$analysisno'))
                if (in_array($analysisno,$files1))              
                {       
                //echo " --$test completed, match found";
                echo "  <td BGCOLOR=\"#00ff00\">completed</td>\n";              
                }
                else
                {
                echo "  <td BGCOLOR=\"#00ffff\">pending</td>\n";

Кажется, что оператор if работает неправильно, как при тестировании: в каталоге выше есть файл, содержащий номер анализа, который должен проверить оператор if и завершить вывод. (это проблема).

(Все, что я хотел бы сделать, это проверить, присутствует ли файл с номером анализа в его имени файла в указанном каталоге, а затем вывести «выполнено», если в папке нет номера анализа, а затем поставить в очередь).

По умолчанию код всегда выводит «в ожидании» и не выводит завершенный при необходимости.

Спасибо за любую помощь.

1 Ответ

2 голосов
/ 24 октября 2011

печать $files1 array после $files1 = scandir($folder); и посмотрим, что содержит массив

после этого выведите значение $analysisno и проверьте, действительно ли это значение в массиве.

ваш код кажется хорошим

...