Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Дата создания файла 
:(
    Опции темы
AlikZP
Дата 13.4.2009, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2009

Репутация: нет
Всего: нет



На сервере лежит исполняемый файл, в котором определенным способом необходимо изменять некоторый блок данных на тот, который введен пользователем. 
После проведения изменения новый файл необходимо дать скачать пользователю.

Поиск и замена происходит следующим образом: в исходном файле ищется определенная маска и 64 байта, следующие после нее, формируются из введенной строки, ксорятся, кодируются и пр пр пр.

Модификация исходника и отдача пользователю ведется параллельно, то есть:
Код

  header("Content-Type: application/exefile;"); 
  header ("Date: Fri, 04 Jul 2008 08:42:36 GMT"); 
  header("Content-Disposition: attachment; filename=\"".$filename."\";");
  flush();

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

Все это прекрасно работает, пользователь скачивает файл, но возникает одно НО:

по словам заказчика полученный ( читай скачанный ) таким образом файл не воспринимается системой, возникают предупреждения безопасности Винды, пользователь, если он не админ на компе, не может запустить полученный файл и еще что-то там, чего я не понял. 
В то же время, опять таки, по словам заказчика, если у полученного файла дату создания изменить на такую же, как и у исходного, то все нормально, никаких вопросов.

Возникает вопрос: можно ли, при отдаче файла пользователю таким образом, установить ему заранее указанную дату создания? При использовании header("Date: ..."); ничего не выходит, дата создания у файла = дата скачивания.
Или возможен какой-нибудь другой вариант решения проблемы.
И вопрос немного не по теме: прав ли заказчик, не морочит ли голову? Может ли из-за смены даты создания вылетать ошибка операционки?

Заранее спасибо всем откликнувшимся.
PM MAIL   Вверх
s0lman
Дата 13.4.2009, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



touch поможет?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
AlikZP
Дата 13.4.2009, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2009

Репутация: нет
Всего: нет



а как с помощью touch можно указать дату создания, если сам результирующий файл на сервере не формируется, а сразу уходит пользователю?

ПыСы: И touch почему-то ругается. Может я неправильно написал?
Тестовый скрипт

Код

$FileName = 'file/file.exe';
$now = filemtime("index.php");
if (touch($FileName, $now, $now)) {
    echo "Время модификации файла $FileName было изменено на текущее";
} else {
    echo "Простите, не удалось изменить время модификации файла $FileName";
}


файл index.php - существующий, с которого я хочу снять маску времени.
файлу file/file.exe установлены права 777.

Результат работы:
Код

Warning: touch() [function.touch]: Utime failed: Operation not permitted in /sata1/home/users/***********************************/test.php on line 4
Простите, не удалось изменить время модификации файла file/file.exe


Это сообщение отредактировал(а) AlikZP - 13.4.2009, 22:19
PM MAIL   Вверх
s0lman
Дата 13.4.2009, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



Это вряд ли.

Добавлено через 31 секунду
Не проще ли создавать временную копию?


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
AlikZP
Дата 13.4.2009, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2009

Репутация: нет
Всего: нет



Думал такой вариант. Создать копию, изменить ее и отдать пользователю по ссылке.
Но как ей указать дату, учитывая ПыСы моего предыдущего поста?
PM MAIL   Вверх
s0lman
Дата 13.4.2009, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и лохматый
**


Профиль
Группа: Участник
Сообщений: 637
Регистрация: 1.11.2007
Где: Ukraine

Репутация: 9
Всего: 29



AlikZP, 
Цитата(AlikZP @  13.4.2009,  22:22 Найти цитируемый пост)
Но как ей указать дату, учитывая ПыСы моего предыдущего поста? 

проверьте чмод exe-файла: у меня под виндой код выполнился


--------------------
Когда я уже выучусь на волшебника? :(
PM   Вверх
AlikZP
Дата 13.4.2009, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 1.1.2009

Репутация: нет
Всего: нет



Цитата

файл index.php - существующий, с которого я хочу снять маску времени.
файлу file/file.exe установлены права 777.


перепроверил - все правильно. 777.

ПС. Возможно некоторые функции закрыты хостером? Вы не знаете какие могут быть?

И первый вопрос остается открытым
Цитата

можно ли, при отдаче файла пользователю таким образом, установить ему заранее указанную дату создания?


Это сообщение отредактировал(а) AlikZP - 13.4.2009, 23:02
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.