Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2011, 23:18   #11
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от snikers987 Посмотреть сообщение
file_exists()
не хочет почему-то работать, всегда выдает что файла нет, хотя адрес прописан правильно..хз
Используйте относительный путь к файлу.

Цитата:
Не хочется втягивать мускул и запись в фаил,но как я понял без этого никак?
Ну почему никак - если небольшое кол-во файлов, и увеличение кол-ва не планируется - то можно обойтись, раз у вас проблемы со знаниями.
Использование массива или БД просто более гибкое и удобное.

В таком случае(при условии использования одинакового формата имён файлов) можно поступить так:
1. Проверяете существование сегодняшнего файла(освойте file_exists() ).
2. Если такой файл есть - выводите его.
3. Если такого нет - закручиваете цикл для проверки существования файлов для предыдущих дат(используйте strtotime() для обратного отсчёта дат("-1(2,3,...,n) day")).
Цикл ограничте, скажем, 10-ю днями назад.
В случае нахождения более раннего файла - прерывайте цикл(break) и выводите найденный файл.

Последний раз редактировалось Andkorol; 10.02.2011 в 23:31.
Andkorol вне форума Ответить с цитированием
Старый 10.02.2011, 23:30   #12
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Цитата:
Используйте относительный путь к файлу.
Это я попробовал в первую очередь, пробовал и абсолютный и относительный - эффекта 0!

Разобрался с этим:
Код:
$file=$_SERVER['DOCUMENT_ROOT']."/img/$name.png";

Последний раз редактировалось snikers987; 10.02.2011 в 23:35.
snikers987 вне форума Ответить с цитированием
Старый 10.02.2011, 23:33   #13
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от snikers987 Посмотреть сообщение
Это я попробовал в первую очередь, пробовал и абсолютный и относительный - эффекта 0!
Значит неправильно указываете путь, приведите структуру вашей web-директории и код.
Andkorol вне форума Ответить с цитированием
Старый 10.02.2011, 23:44   #14
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Значит неправильно указываете путь, приведите структуру вашей web-директории и код.
Так работает

Код:
$file=$_SERVER['DOCUMENT_ROOT']."/img/$name.png";
snikers987 вне форума Ответить с цитированием
Старый 10.02.2011, 23:53   #15
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

делаю
Код:
else {
$n = strtotime(("-1 day"));

echo "Фаила $file нет<br/>";
$shapka = "<img src='/img/$n.png'>";
}
Получаю адрес: вместо 09_02_11.png >>
/img/1297284695.png
snikers987 вне форума Ответить с цитированием
Старый 10.02.2011, 23:57   #16
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от snikers987 Посмотреть сообщение
Получаю адрес: вместо 09_02_11.png >>
/img/1297284695.png
Так а описание функции strtotime() читать не надо..?

Функция возвращает временную метку - загоняйте её в date() и получайте нужный вам формат.
Andkorol вне форума Ответить с цитированием
Старый 11.02.2011, 00:10   #17
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Код:
$n = strtotime(("-1 day"));
$m = date('d_m_y', $n);
Так работает.

Последний раз редактировалось snikers987; 11.02.2011 в 00:17.
snikers987 вне форума Ответить с цитированием
Старый 11.02.2011, 00:17   #18
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Но когда добавляю $n = strtotime(("-1(2,3,4,5,6,7,8,9,10)); уходит аж до 01_01_70 (((
snikers987 вне форума Ответить с цитированием
Старый 11.02.2011, 00:27   #19
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от snikers987 Посмотреть сообщение
Но когда добавляю $n = strtotime(("-1(2,3,4,5,6,7,8,9,10)); уходит аж до 01_01_70 (((
PHP код:
for($i 1$i <= 10$i++){
    
$file_name date('d_m_y'strtotime('-' $i ' day'));
    if(
file_exists($_SERVER['DOCUMENT_ROOT'] . '/img/' $file_name '.png'){
        echo 
'<img src="' $_SERVER['DOCUMENT_ROOT'] . '/img/' $file_name '.png" />';
        break;
    }

Примерно так должно быть.

$n, $m - плохая привычка.
Andkorol вне форума Ответить с цитированием
Старый 11.02.2011, 20:07   #20
snikers987
Пользователь
 
Регистрация: 04.12.2010
Сообщений: 63
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
PHP код:
for($i 1$i <= 10$i++){
    
$file_name date('d_m_y'strtotime('-' $i ' day'));
    if(
file_exists($_SERVER['DOCUMENT_ROOT'] . '/img/' $file_name '.png'){
        echo 
'<img src="' $_SERVER['DOCUMENT_ROOT'] . '/img/' $file_name '.png" />';
        break;
    }

Примерно так должно быть.

$n, $m - плохая привычка.
Спасибо, все работает! Только в ваше варианте не хватает одной скобочки))
Код:
if(file_exists($_SERVER['DOCUMENT_ROOT'] . '/img/' . $file_name . '.png'))
snikers987 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Адреса переменных rommster Visual C++ 1 26.11.2010 08:35
Сравнение объектных переменных NomadV Microsoft Office Word 1 09.04.2010 16:44
Много переменных Altera Общие вопросы Delphi 15 18.07.2008 08:06
Проверка переменных *_ViruS_* Общие вопросы C/C++ 3 21.09.2007 21:33