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

Форум PHP

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

 

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

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

тема: Родовые параметры файла
 
 автор: Владимир55   (29.01.2010 в 00:13)   письмо автору
 
 

Есть необходимость задать время создания и время изменения файла. Для пробы сделан такой код:
<?php
    touch
("index.html"1264000000) ;

    
$tmp filemtime ("index.html");
    echo 
"<br>Время изменения $tmp "date("d.m.Y H:i:s"$tmp)  ;

    
$tmp filectime ("index.html");
    echo 
"<br>Время создания $tmp "date("d.m.Y H:i:s"$tmp)  ;

В итоге получаем:
Время изменения 1264000000 20.01.2010 18:06:40
Время создания 1264073335 21.01.2010 14:28:55 

То есть, время изменения соответствует параметру оператора touch, а время создания файла отражает то реальное время, когда файл был создан. Причем получилось так, что файл изменен раньше, чем был создан!

Можно ли как-то изменить время создания файла?

  Ответить  
 
 автор: Тень   (29.01.2010 в 00:16)
 
   для: Владимир55   (29.01.2010 в 00:13)
 

Я, честно говоря, не знаю. Просто интересно зачем Вам это?

  Ответить  
 
 автор: Trianon   (29.01.2010 в 00:45)   письмо автору
 
   для: Владимир55   (29.01.2010 в 00:13)
 

filectime() возвращает не время создания файла, а время момента изменения файлового дескриптора (более известного в unix-терминологии, как inode).
http://php.net/manual/en/function.filectime.php

  Ответить  
 
 автор: Владимир55   (29.01.2010 в 00:52)   письмо автору
 
   для: Trianon   (29.01.2010 в 00:45)
 

Похоже, что в разных книгах приведены разные сведения. Я руководствовался этим:
filectime
Возвращает время создания файла. 
Синтаксис: 
int filectime(string $filename)

Собственно, не суть важно.

Важнее понять другое: какой параметр может читать поисковик?
Может ли он определить время создания файла и время последнего изменения файла?

  Ответить  
 
 автор: Тень   (29.01.2010 в 01:25)
 
   для: Владимир55   (29.01.2010 в 00:52)
 

Web-сервер отдаёт документы, а не файлы. Но, в принципе, для статических документов, web-сервер скорее всего формирует заголовки о последнем изменении файла, основываясь на дате его модификации.

  Ответить  
 
 автор: Владимир55   (29.01.2010 в 01:27)   письмо автору
 
   для: Тень   (29.01.2010 в 01:25)
 

Иными словами, время последнего изменения документа поисковик узнает, а время создания узнать не может?

  Ответить  
 
 автор: Тень   (29.01.2010 в 01:48)
 
   для: Владимир55   (29.01.2010 в 01:27)
 

Для этого должен быть такой HTTP-заголовок, который позволяет узнать дату "создания" HTTP-документа. Но это мало имеет смысл в web, я про такой заголовок не слышал, поэтому отвечу: нет, не может.

  Ответить  
 
 автор: Trianon   (29.01.2010 в 01:51)   письмо автору
 
   для: Владимир55   (29.01.2010 в 01:27)
 

время создания поисковику проще держать в собственной базе. Если оно ему приспичит.

  Ответить  
 
 автор: Владимир55   (29.01.2010 в 01:58)   письмо автору
 
   для: Trianon   (29.01.2010 в 01:51)
 

Тут такая штука: я сделал sitemap, а Вэбмастер пишет, что указанное в нем время последнего изменения файлов не совпадает с реальным. Изменить sitemap нетрудно, но тогда получается, что он создан позже, чем изменен...

  Ответить  
Rambler's Top100
вверх

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