как указано в документации php о file_exists()
:
Checks whether a file or directory exists
Мое единственное предположение для вашего вопроса № 3: Вы проверяете, существует ли файл, и он существует. Только это не файл, это каталог.
Что касается # 2, также, как указано в сообщении об ошибке, вы можете сделать что-то вроде этого:
$ file_to_check = ROOT. '/ intl / codes /'. $ Секрет;
if (file_exists($file_to_check)) {
if( !is_dir( $file_to_check ) )
unlink($file_to_check);
else
rmdir( $file_to_check );
$trusted = 'yes';
}
и для вашего вопроса №1 вы можете сделать что-то вроде этого:
$secret = input_get($_GET['secret']);
if(isset($_POST['register']) && !empty($secret)) {
$file_to_check = ROOT . '/intl/codes/' . $secret;
if (file_exists($file_to_check)) {
if( !is_dir( $file_to_check ) )
unlink($file_to_check);
else
rmdir( $file_to_check );
$trusted = 'yes';
} else {
$trusted = 'no';
}
}
function input_get($key, $default = ""){
if(!isset($_GET[$key])){
return $default;
} else {
//do input cleanup first, if you want
return $_GET[$key];
}
}
Немного объяснений:
- Я не знаю, что делает
check_input()
, поэтому я создал функцию-обертку для $_GET[]
, которая называется input_get()
. Это избавляет от необходимости делать isset()
, а также заполнять значение по умолчанию.
- Я положил
ROOT . '/intl/codes/' . $secret;
в переменную $file_to_check
, чтобы вам не приходилось вводить ее снова и снова.