Проверка файла на существование
Здравствуйте!
Есть много папок и в некоторых может лежать картинка. Папки называю именем id документа.
Хочу проверить на существование картинки в папке.
Все пути вроде верные (вроде!).
Есть сниппет:
1. $filename — "/assets/media/90/schema/schema.png";
2. $dir — «assets/media/90/schema/»;
3. $path — "/ПОЛНЫЙ АДРЕС/САЙТ.РУ/public_html".
$dir пробывал с "/" вначале и без, но результат отрицательный.
Подозреваю(сарказм) что ошибка всё-таки есть и она несколько глупая. Но к сожалению не хватает чего-то найти ее.
Догадываюсь, что проблема с адресами. Прошу помощи)
Спасибо!
P. S. так же признаю, что этот вопрос не уникальный и подобные вопросы были. Но решения своей задачи я в них не нашел.
Есть много папок и в некоторых может лежать картинка. Папки называю именем id документа.
Хочу проверить на существование картинки в папке.
Все пути вроде верные (вроде!).
Есть сниппет:
[[!checkSchema?
&dir=`assets/media/[[+id]]/schema/` // к примеру id = 90, то поиск должен быть в assets/media/90/schema/
&tpl=`mailFileInputTpl` // Это соответственно шаблон вывода в случае True
]]
Сам сниппет:$dir;
$tpl;
$path = $_SERVER['DOCUMENT_ROOT']; // Проверяю может не там поиск, но адрес идет до САЙТ.РУ/public_html , т.е. вроде верно
$filename = '/' . $dir . 'schema.png'; // соответственно файл, который ищу в папке
if (file_exists($filename)) {
return $modx->getChunk($tpl, $filename);
} else {
return 'НЕТ СХЕМЫ! ---/ ' . $filename . ' /---/ ' . $dir . ' /---' . $path;
}
Вот что возвращается:1. $filename — "/assets/media/90/schema/schema.png";
2. $dir — «assets/media/90/schema/»;
3. $path — "/ПОЛНЫЙ АДРЕС/САЙТ.РУ/public_html".
$dir пробывал с "/" вначале и без, но результат отрицательный.
Подозреваю(сарказм) что ошибка всё-таки есть и она несколько глупая. Но к сожалению не хватает чего-то найти ее.
Догадываюсь, что проблема с адресами. Прошу помощи)
Спасибо!
P. S. так же признаю, что этот вопрос не уникальный и подобные вопросы были. Но решения своей задачи я в них не нашел.
Комментарии: 1
$dir = $dir ?: 'assets/media/90/schema/';
$tpl = $tpl ?: 'mailFileInputTpl';
$filename = "schema.png"; // название файла
$file = MODX_BASE_PATH . $dir . "$filename";
if (file_exists($file)) {
return $modx->getChunk($tpl, $filename);
} else {
return 'НЕТ СХЕМЫ! ---/ ' . $file;
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.