Перейти к публикации
View in the app

A better way to browse. Learn more.

Дизайн и модификация Invision Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Проверка существования файла IPB

Опубликовано:

Задача состоит в следующем.

На форуме есть обычная кнопка.png после ее нажатия скачивается Excel документ. (Файлик хранится на фтп, кнопке прописан прямой путь).

 

Не могу найти скрипт, чтоб глушил кнопку. (Менял цвет или подменялась картинка) обозначать то, что файла нету. Может Вы что-то встречали?

Рекомендованные сообщения

Опубликовано:

Что-то не совсем понял о чем речь. В смысле "глушил кнопку"? Нужно проверить если есть этот файл на сервере, если нету - убрать кнопку, так? Документ на том же сервере?

Опубликовано:
<if test="file_exists( '/путь_к_файлу/имя_файла.xls' )">[кнопка]<else />Файл отсутствует</if>

Опубликовано:
  • Автор

Что-то не совсем понял о чем речь. В смысле "глушил кнопку"? Нужно проверить если есть этот файл на сервере, если нету - убрать кнопку, так? Документ на том же сервере?

 

Все верно, на том же сервере. Админ на пару дней убивает файл, чтоб его отредактировать, а потом снова загружает, и не хочется постоянно лезть в АЦ, убирать код и добавлять.

 

Сейчас просто код:

 

<a href="/doc/doc.xls"><img src="http://сайт.ру/forum/1.png" /></a>

 

 

<if test="file_exists( '/путь_к_файлу/имя_файла.xml' )">[кнопка]<else />Файл отсутствует</if>

 

Не работает.

Опубликовано:

Не работает.

Должно работать, если только на сервере безопасный режим не включен (php safe mode). Нужно использовать полный (абсолютный) путь к файлу.

 

P.S. Попробуйте is_readable() вместо file_exists() тогда.

Опубликовано:
  • Автор

Должно работать, если только на сервере безопасный режим не включен (php safe mode). Нужно использовать полный (абсолютный) путь к файлу.P.S. Попробуйте is_readable() вместо file_exists() тогда.

 

Не работает, отключен safe_mode в php.ini глянул.

 

Сайт работает через fastCGI

Опубликовано:
  • Автор

P.S. Попробуйте is_readable() вместо file_exists() тогда. 

Не работает

Опубликовано:

А так:

<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.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 существует

 

 

 

Я хочу в боковом блоке разместить. Если есть файл, горит иконка, нет под иконкой файла нет.

Опубликовано:

Ну, так делайте как вам нужно. Вместо текста код кнопки, есть файл - одна картинка со ссылкой, нет файла - другая картинка.

Опубликовано:
  • Автор

А так:

<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, тот-же результат.

Опубликовано:

Если включен PHP Mode, то открывающий тег <php> нужно убрать, а закрывающий заменить на "?>" вроди бы. Точно не помню, как оно там работает, возможно в режиме html будет как есть работать.

Опубликовано:
  • Автор

Если включен PHP Mode, то открывающий тег нужно убрать, а закрывающий заменить на "?>" вроди бы. Точно не помню, как оно там работает, возможно в режиме html будет как есть работать.

 

Уже всяческий пробовал, но результат нету для бокового блока.

Опубликовано:

Но! в боковой блок его добавить не могу, поставил Custom Sidebar Blocks, вкл там PHP Mode, тот-же результат.

if (file_exists(DOC_IPS_ROOT_PATH . '/doc/doc.xls')) {
   $button = 'Файл есть';
} else {
   $button = 'Файла нет';
}

return $button;

Опубликовано:
  • Автор

Заработало)

newbie, Dmitriy427 - спасибо

Создайте аккаунт или войдите в него для комментирования

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.