Я пытаюсь создать немного кода, чтобы сначала проверить содержимое каталога, чтобы увидеть, существует ли файл, и если это так, добавьте число к имени файла. К сожалению, я не могу заставить его работать на данный момент, php не производит ошибок, но новый файл не создается, если он уже существует. Вот мой код атм:Пока цикл, чтобы добавить 1 к имени файла, если он уже существует, не работает в 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++;
Если я заменю время цикла с, если заявление, он работает - так что это не пути файл или что-нибудь, которые вызывают проблемы. Я пробовал несколько комбинаций, но не могу заставить его работать.
Я попытался использовать file_exists(), но это не сработало - я думаю, это потому, что я передаю ему переменные, которые были переданы через escapeshellarg(). В результате я думаю, что file_exists буквально ищет /path/to/dir/'Report1.txt '- очевидно, что Report1.txt не существует, Report1.txt. Вот почему я использовал exec и ls.
Спасибо за любые ответы
Jingo, ты убедился, что это не создает ошибок, displa_errors обычно выключен быть по умолчанию. Попробуйте положить ini_set ('display_errors', 1); наверху вашего файла, чтобы убедиться, что нет ошибок. – AlexC