Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: определить время создания файла
 
 автор: Eugene77   (06.09.2007 в 20:26)   письмо автору
 
 

На сайте сосздаются скриптом временные файлы.
Через секунд 100 они не нужны.
Надо удалить.
Я начал писать:

function retire($tmp_dir, $elapce){ 
    if(!($h = opendir($tmp_dir))) exit("Временную директорию $tmp_dir не удалось открыть");
        while(false !== ($f = readdir($h))){
            if(is_file($f)){
                $fm = filemtime($f);
                $fm2 = mktime($fm);
                echo" $fm $fm2 <br>";
            }
        }
}


Но он выдаёт

Warning: filemtime() [function.filemtime]: stat failed for i775742.jpg in

Ничего не работает, хотя метка времени в файле стоит правильная.
Что я не так делаю?
Как мне убрать устаревшие файлы?

   
 
 автор: Faraon   (07.09.2007 в 08:52)   письмо автору
 
   для: Eugene77   (06.09.2007 в 20:26)
 

Что-то непонятно вы в итоге время в каком формате хотите получить?
Может быть

$fm2 = date("h:i:s m-d-Y",$fm);  

   
 
 автор: Trianon   (07.09.2007 в 09:12)   письмо автору
 
   для: Eugene77   (06.09.2007 в 20:26)
 

stat() и fstat() тоже не работают?

   
 
 автор: Eugene77   (07.09.2007 в 16:42)   письмо автору
 
   для: Trianon   (07.09.2007 в 09:12)
 

fstat() помогла!
Путь к файлу оказывается надо указывать.
Спасибо!

   
 
 автор: Trianon   (07.09.2007 в 18:25)   письмо автору
 
   для: Eugene77   (07.09.2007 в 16:42)
 

э... а где его указывать не надо?!

   
 
 автор: bronenos   (07.09.2007 в 18:38)   письмо автору
 
   для: Trianon   (07.09.2007 в 18:25)
 

думаю, он говорил про дескриптор

   
 
 автор: Trianon   (07.09.2007 в 18:42)   письмо автору
 
   для: bronenos   (07.09.2007 в 18:38)
 

на самом деле - во обеих этих строках
if(is_file($f)){
$fm = filemtime($f);


потребуется что-то вроде ($tmp_dir.$f)

   
 
 автор: Eugene77   (07.09.2007 в 19:11)   письмо автору
 
   для: Trianon   (07.09.2007 в 18:42)
 

>на самом деле - во обеих этих строках
>if(is_file($f)){
> $fm = filemtime($f);
>
>
>потребуется что-то вроде ($tmp_dir.$f)

Верно, верно!
Вы-то небось на автопилоте это пишете не задумываясь, я я до сих пор
в этих путях как в тумне. Ничего не понимаю.
Этот путь откуда отсчитывается?
И как ещё можно иначе его указать?
И почему в браузере этот вариант проходит, а PHP Expert Edinor упорно продолжает ругаться?
Уф!

   
 
 автор: Trianon   (07.09.2007 в 19:19)   письмо автору
 
   для: Eugene77   (07.09.2007 в 19:11)
 

Возможно, потому, что у php-cgi и у апача разные текущие каталоги.
Нужно начинать путь со /слэша и отсчитывать его от корня раздела.
определиться с путем от корня раздела к корню документов поможет $_SERVER['DOCUMENT_ROOT']
а с путем от корня документов к текущему скрипту - $_SERVER['PHP_SELF']

   
 
 автор: Eugene77   (07.09.2007 в 20:45)   письмо автору
 
   для: Trianon   (07.09.2007 в 19:19)
 

>Возможно, потому, что у php-cgi и у апача разные текущие каталоги.

Как их совместить? Или хотя бы как правильно определить?


>Нужно начинать путь со /слэша и отсчитывать его от корня раздела.
>определиться с путем от корня раздела к корню документов поможет $_SERVER['DOCUMENT_ROOT']
>а с путем от корня документов к текущему скрипту - $_SERVER['PHP_SELF']

Спасибо! Теперь буду пробовать указывать полные пути. Вдруг редактор их "скушает"!
Или есть другой путь решения проблемы с Expert Editor?
Вы у себя как делаете?
У меня почему-то если начинать со слэша вообще ничего не работает - стоит удалить -
браузер всё верно открывает.
Впрочем, на сегодня у меня порох кончился, завтра продолжу.

   
 
 автор: Trianon   (07.09.2007 в 20:46)   письмо автору
 
   для: Eugene77   (07.09.2007 в 20:45)
 

>Вы у себя как делаете?

вычисляю полные пути

   
 
 автор: Poison   (07.09.2007 в 20:54)   письмо автору
 
   для: Trianon   (07.09.2007 в 20:46)
 

а у меня уже в привычку вошло ( везде использую :)) в начале скрипта определяю
<?
define
('ROOT_DIR'dirname(__FILE__) );

   
 
 автор: Eugene77   (07.09.2007 в 21:10)   письмо автору
 
   для: Poison   (07.09.2007 в 20:54)
 

>а у меня уже в привычку вошло ( везде использую :)) в начале скрипта определяю
<?
>define('ROOT_DIR'dirname(__FILE__) );
>


О!
Вот это интересный эффект дало!
Теперь в Expert Editor заработало, но браузер -- ни-ни
ничего не показывает.

   
 
 автор: Trianon   (07.09.2007 в 21:27)   письмо автору
 
   для: Poison   (07.09.2007 в 20:54)
 

Ок.
Только почему ROOT?

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования