• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Информация Вывод любой информации о файле

Статус
В этой теме нельзя размещать новые ответы.

dragonstyle

Читатель
Заблокирован
Регистрация
17 Ноя 2008
Сообщения
523
Реакции
481
  • Автор темы
  • Заблокирован
  • #1
Ситуация:
В своей конторе мы разрабатываем софт, по заказам клиента и, как это бывает, сопровождением сайта занимается не php-программист (который в это время выполняет заказ), а обычный программист (который не мучается с закрытием дыр в php-коде).
Задача:
Выводить дату создания локального файла (т.е. который лежит на этом же сервере), либо читать (при возможности) его содержимое и то же выводить.
Решение:
Как уже упоминалось, я опирался на вышеуказанные статьи + посетил ресурс ru.php.net. Отсюда сделал вывод, что это в принципе возможно. Вот код 2-х php-файлов:
1. Читает ИЗ файла параметры и выводит их (описывалось тут).
2. Читает дату создания файла (сделал по аналогии с указанной выше статьей).
1
<?php
/*
=====================================================
Вывод версии баз с NOD32 (от Plexx)
=====================================================
Файл: nod.php
=====================================================
*/
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}

if (file_exists("D:/Appserv/www/nod32/update.ver")) { // Обязательно с двойными обратными слэшами.
$f = file("D:/Appserv/www/nod32/update.ver"); // Обязательно с двойными обратными слэшами.

$search = "ENGINE2"; // определяем что нам надо найти
$i = 0;
while ($i < sizeof($f)&& strpos($f[$i], $search) == false) {
$i++;
}
// перебираем строки пока не наткнемся на совпаденеие с искомым текстом
$ver = $i+1;
$data = $i+6;
$nod32 .= str_replace("version=", "", $f[$ver]); // выводим следующий элемент массива после найденого текста, убрав из нее ненужный текст

} else { // если файла нет
$nod32 .= "Обновления не готовы."; // выводим фразу
}
?>
2
<?php
/*
=====================================================
Вывод даты создания файла (от Azerich)
=====================================================
Файл: date_info.php
=====================================================
*/
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}

$filename = 'C:Apachehtdocsdirexe.exe';
if (file_exists($filename)) {
$m=stat($filename);
$date_info .= date("d.m.Y", $m[9]). " .Вы можете скачать этот <a href='http://your.site.com/dir/exe.exe'>файл</a>";
} else {
$date_info .= "<b>Поддержка приостановлена.</b>.";
}
?>
Манипулируя массивом $m[0.....] из файла можно вытянуть, с помощью функции stat(), все что Вам необходимо.
Настройка данных переменных ($nod32 & $date_info) под тэги не составит труда, но для тех, кто даже поиском не умеет пользоваться пишу:
1. Созданный php-файл кладем в engine//modules
2. в index.php после
добавляем
ниже после
$tpl->set ( '{calendar}', $tpl->result['calendar'] );
добавляем
$tpl->set('{date_info}',$date_info);
В принципе, я не рассказал чего-то нового для тех, кто что-то умеет в php, но исследуя возможности php сам я потерял кучу времени (к счастью оно оплачено). А вдруг кому-нибудь пригодится - я буду очень рад.
P.S.: Функция stat() работает ТОЛЬКО с локальными файлами (т.е. теми, которые находятся на этом же сервере). Определение даты создания удаленного файла в задачи не входило, но решается просто после посещения ru.php.net и изучения функций работы с файлами.
Автор:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху