Автор Тема: что может создавать файл  (Прочитано 3896 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
что может создавать файл
« : 08 Марта 2005, 20:44:41 »
что может причинить создание файла HASH(0x8092be0)
внутренность в нем пустая и работе он не мешает, но все же, раз он создается, значит что то не так....
создается он в директории где хранятся созданные в ручную сессии
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн synthez

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 104
  • +0/-0
  • 0
    • Просмотр профиля
что может создавать файл
« Ответ #1 : 08 Марта 2005, 23:04:07 »
У меня было что-то подобное, функция записывающая хэш в файл требовала два параметра function($filename,\\%hash),  и я по своей невнимательности забыл между аргументами запятую и у меня файлы создавались такого вида file.txtHASH(0x542be0) ... конечно не ответ но все же мож где проглядел... удачи!
« Последнее редактирование: 09 Марта 2005, 10:30:31 от synthez »
Software  like sex - it\'s better when it\'s free

Оффлайн glebushka

  • студент
  • Ветеран
  • *****
  • Сообщений: 944
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.intellectuals.ru
что может создавать файл
« Ответ #2 : 09 Марта 2005, 02:15:03 »
Потому что где-то не разрешаешь ссылку. И заместо вывода субъекта, выводишь ссылку. Определись, в каком участке кода создаётся данный файл. И запость его (код) сюда. Ну или сам найди ошибку.
Ну к чему все это, лучше бы водки выпили...

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
что может создавать файл
« Ответ #3 : 10 Марта 2005, 00:38:06 »
вот выношу на ваше обсуждение часть которая отвечает за создание и удаление файлов в данной директории

$file - с куков
$time=time();
if ($file eq "") { #если в куке пусто
  while (-e "temp/$time.txt") { #если такая сесия есть уже
    $time++;
  }
  $file=$time;

  open (OLDALLUSER,"temp/files.tmp"); #смотрим лист сесий
  while () { chomp;
        ($oldtime,$oldfile)=split(/\\|/);
        if ($time-$oldtime<24*60*60) { push @newalluser,"$_\\n"; } #если время хранения не вышло
        else { unlink ("temp/$oldfile.txt"); } # если вышло удаляем
    }

    push @newalluser,"$time|$file\\n"; # добавляем новую сесию

    open (NEWALLUSER,">temp/files.tmp"); # перезаписуем всех живых :)
    print NEWALLUSER @newalluser;
    close (NEWALLUSER);

    print "Set-Cookie: file=$file; path=/; \\n";#заносим в кук
}
else { #если сесия уже в куке была читаем что там было
    open (FILE, "temp/$file.txt");
    while () { chomp;
        ($oldid,$oldkol)=split(/\\|/);
        if ($oldid ne $id) { push @newfile,"$oldid|$oldkol\\n"; }
    }
}
if ($kol > "0") { push @newfile,"$id|$kol\\n"; } #добавляем новую запись или заменяем

open (FILE, ">temp/$file.txt");
print FILE @newfile; #собственно записуем новое
close (FILE);
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
что может создавать файл
« Ответ #4 : 10 Марта 2005, 15:59:11 »
1. Для большей уверенности попробуйте оформить Ваши строки типа:

"temp/$time.txt"
"$oldid|$oldkol\\n"
...

как
"temp/${time}.txt"
"${oldid}|${oldkol}\\n"
...


2. А вот такие записи я вообще не понимаю
push @newalluser,"$_\\n";
push @newalluser,"$time|$file\\n";

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

3. Эта запись ошибочна
if ($kol > "0") ....
решите, что Вы хотите сравнивать строки или числа

4. Тут
else { unlink ("temp/$oldfile.txt"); }

я бы подстраховался
else { unlink("temp/$oldfile.txt") if -e "temp/$oldfile.txt"; }

5. Я вижу открытие
open (OLDALLUSER...

но не вижу закрытия

PS Это конечно не ответ на Ваш вопрос, но возможно поможет в избежании других проблем.
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
что может создавать файл
« Ответ #5 : 11 Марта 2005, 01:34:11 »
vladsu
3. чем же ошибочна? она как раз выдает количество... (я по книжке)
4. ок
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

Оффлайн vladsu

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 271
  • +0/-0
  • 0
    • Просмотр профиля
    • http://vladislavsurguchev.eu/
что может создавать файл
« Ответ #6 : 11 Марта 2005, 15:55:52 »
Цитировать
Yaroslav:
3. чем же ошибочна? она как раз выдает количество... (я по книжке)


В Вашем варианте это, повидимому, должно выглядеть так
if ($kol > 0)...

0 - это число, когда Вы его обрамляете кавычками становится строкой.
----------------------------------------------
Мой сайт чёрно-белых фотографий из разных уголков мира тут

Оффлайн Yaroslav

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 323
  • +0/-0
  • 0
    • Просмотр профиля
что может создавать файл
« Ответ #7 : 11 Марта 2005, 17:50:55 »
vladsu
возможо я что то и пропустил.. :(
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили \"Титаник\".

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28