Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Атаман

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

Recommended Posts

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

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

 

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

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites
<if test="file_exists( '/путь_к_файлу/имя_файла.xls' )">[кнопка]<else />Файл отсутствует</if>

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

 

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

 

Не работает.

Share this post


Link to post
Share on other sites

Не работает.

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

 

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Не работает

Share this post


Link to post
Share on other sites

А так:

<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}

  • Upvote 1

Share this post


Link to post
Share on other sites

Спасибо работает, но не так как бы хотелось.

 

Я в корне фтп создал файл 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 существует

 

 

 

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

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

А так:

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

Share this post


Link to post
Share on other sites

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

  • Upvote 1

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

return $button;

  • Upvote 1

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...