Атаман Posted February 13, 2014 Share Posted February 13, 2014 Задача состоит в следующем.На форуме есть обычная кнопка.png после ее нажатия скачивается Excel документ. (Файлик хранится на фтп, кнопке прописан прямой путь). Не могу найти скрипт, чтоб глушил кнопку. (Менял цвет или подменялась картинка) обозначать то, что файла нету. Может Вы что-то встречали? Link to comment Share on other sites More sharing options...
siv1987 Posted February 13, 2014 Share Posted February 13, 2014 Что-то не совсем понял о чем речь. В смысле "глушил кнопку"? Нужно проверить если есть этот файл на сервере, если нету - убрать кнопку, так? Документ на том же сервере? 1 Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 13, 2014 Share Posted February 13, 2014 <if test="file_exists( '/путь_к_файлу/имя_файла.xls' )">[кнопка]<else />Файл отсутствует</if> 1 Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 Что-то не совсем понял о чем речь. В смысле "глушил кнопку"? Нужно проверить если есть этот файл на сервере, если нету - убрать кнопку, так? Документ на том же сервере? Все верно, на том же сервере. Админ на пару дней убивает файл, чтоб его отредактировать, а потом снова загружает, и не хочется постоянно лезть в АЦ, убирать код и добавлять. Сейчас просто код: <a href="/doc/doc.xls"><img src="http://сайт.ру/forum/1.png" /></a> <if test="file_exists( '/путь_к_файлу/имя_файла.xml' )">[кнопка]<else />Файл отсутствует</if> Не работает. Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 13, 2014 Share Posted February 13, 2014 Не работает.Должно работать, если только на сервере безопасный режим не включен (php safe mode). Нужно использовать полный (абсолютный) путь к файлу. P.S. Попробуйте is_readable() вместо file_exists() тогда. 1 Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 Должно работать, если только на сервере безопасный режим не включен (php safe mode). Нужно использовать полный (абсолютный) путь к файлу.P.S. Попробуйте is_readable() вместо file_exists() тогда. Не работает, отключен safe_mode в php.ini глянул. Сайт работает через fastCGI Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 P.S. Попробуйте is_readable() вместо file_exists() тогда. Не работает Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 13, 2014 Share Posted February 13, 2014 А так:<php> if ( file_exists( '/путь_к_файлу/doc.xls' ) ) { $f_button = '<a href="/doc/doc.xls"><img src="http://сайт.ру/forum/1.png" /></a>'; } else { $f_button = 'Файл отсутствует'; } </php> {$f_button} 1 Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 Спасибо работает, но не так как бы хотелось. Я в корне фтп создал файл 1.php Содержимое: <?php $filename = '/var/www/сайт/data/www/сайт/doc/doc.xls'; if (file_exists($filename)) { echo "Файл $filename существует"; } else { echo "Файл $filename не существует"; } ?> В шаблон вписал {parse include="1.php"} А показывает не так как я хочу. ВотФайл /var/www/сайт/data/www/сайт/doc/doc.xls существует Я хочу в боковом блоке разместить. Если есть файл, горит иконка, нет под иконкой файла нет. Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 13, 2014 Share Posted February 13, 2014 Ну, так делайте как вам нужно. Вместо текста код кнопки, есть файл - одна картинка со ссылкой, нет файла - другая картинка. 1 Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 А так:<php> if ( file_exists( '/путь_к_файлу/doc.xls' ) ) { $f_button = '<a href="/doc/doc.xls"><img src="http://сайт.ру/forum/1.png" /></a>'; } else { $f_button = 'Файл отсутствует'; }</php>{$f_button} Это метод работает на ура если вставить в шаблон.Но! в боковой блок его добавить не могу, поставил Custom Sidebar Blocks, вкл там PHP Mode, тот-же результат. Link to comment Share on other sites More sharing options...
Dmitriy427 Posted February 13, 2014 Share Posted February 13, 2014 Если включен PHP Mode, то открывающий тег <php> нужно убрать, а закрывающий заменить на "?>" вроди бы. Точно не помню, как оно там работает, возможно в режиме html будет как есть работать. 1 Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 Если включен PHP Mode, то открывающий тег нужно убрать, а закрывающий заменить на "?>" вроди бы. Точно не помню, как оно там работает, возможно в режиме html будет как есть работать. Уже всяческий пробовал, но результат нету для бокового блока. Link to comment Share on other sites More sharing options...
newbie Posted February 13, 2014 Share Posted February 13, 2014 Но! в боковой блок его добавить не могу, поставил Custom Sidebar Blocks, вкл там PHP Mode, тот-же результат. if (file_exists(DOC_IPS_ROOT_PATH . '/doc/doc.xls')) { $button = 'Файл есть'; } else { $button = 'Файла нет'; } return $button; 1 Link to comment Share on other sites More sharing options...
Атаман Posted February 13, 2014 Author Share Posted February 13, 2014 Заработало)newbie, Dmitriy427 - спасибо Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now