У меня есть файл с каталогом: PDF\9783790820874-c1.pdf
Я хотел бы удалить этот файл с помощью функции unlink()
funciton. Но, похоже, не работает, если я устанавливаю каталог в переменную и отключаю ее.
Например:
$FileToDelete = "PDF\9783790820874-c1.pdf"; unlink($FileToDelete);
Код логичен, не так ли? но почему, когда я его выполняю, он показывает мне сообщение об ошибке:
Warning: unlink(PDF\9783790820874-c1.pdf ): Invalid argument on line 36
Мне нужно сохранить каталог файлов в переменную, чтобы хорошо работать с моей программой, есть ли способ ее решить?
Ваша обратная косая черта интерпретируется как последовательность побега.
http://php.net/manual/en/language.types.string.php#language.types.string.syntax.double
Либо измените его на косую черту (что работает для путей в Windows):
$FileToDelete = "PDF/9783790820874-c1.pdf";
Или используйте одинарные кавычки:
$FileToDelete = 'PDF\9783790820874-c1.pdf';
Или просто избегайте обратной косой черты:
$FileToDelete = "PDF\\9783790820874-c1.pdf";
Я предполагаю, что вы находитесь в Windows на основе разделителя путей обратной косой черты.
Я думаю, что проблема связана с тем, что вы избегаете обратного слэш, вызывая проблемы, попробуйте:
$FileToDelete = "PDF\\9783790820874-c1.pdf"; unlink($FileToDelete);
Надеюсь, это исправит это для вас.
Помните, что «и» ведут себя по-другому по отношению к экранированию внутри строки. Поэтому, хотя «a \ b.pdf» может работать «a \ b.pdf», может означать нечто совершенно другое (где a и b – [некоторая строка]).