Я пытаюсь создать небольшой фрагмент кода, чтобы сначала проверить содержимое каталога, чтобы увидеть, существует ли файл и, если он существует, добавить число к имени файла. К сожалению, я не могу заставить его работать в данный момент, php не выдает ошибок, но новый файл не создается, если он уже существует. Вот мой код атм:
$Scan_Name_Output = "dirbuster_" . $workload["Scan_Name"] . "_output.txt";
$Check_Output = exec("ls " . $Output_Directory . " | grep -w " . $Scan_Name_Output);
$j = 1;
while (!empty($Check_Output))
{
$Scan_Name_Output = $Scan_Name_Output . $j;
$j++;
Если я заменим цикл while на оператор if, он сработает, поэтому проблема не связана с путями к файлам или чем-либо еще. Я попробовал несколько комбинаций, но не могу заставить его работать.
Я пытался использовать file_exists (), но он не работает - я думаю, это потому, что я передаю переменные, которые были помещены через escapeshellarg (). В результате я думаю, что file_exists буквально ищет /path/to/dir/'Report1.txt '- очевидно, что' Report1.txt 'не существует, Report1.txt делает. Вот почему я использовал exec и ls.
Спасибо за любые ответы