Re: [GENERAL-BG] Re: problem s unlink
[email protected] (Anastas Tarpanov) Thu, 5 May 2005 18:08:05 +0300
| Newsgroups | php.general.bg |
|---|---|
| Message-ID | <[email protected]> |
В отговор на Kouber Saparev <[email protected]>: > >>Нали си сложил error_reporting на E_ALL и display_errors на On? > > > > Абсолютно е така. Точно това е пародокса. Не връща никаква грешка. Ако го > сложа > > unlink в един if влиза вътре нали си връща true ама дефакто файла не се > изтрива. > > Не знам unlink кога се изпълнява. Когато интерпретора мине през него или > накрая > > на скрипта, ако завърши нормално. Тука може би Андрей трябва да даде едно > > експертно мнение. > > Функцията се извиква по време на изпълнение. > > Прегледах CVS-а за и по-точно file.c, но не виждам някакви промени по > unlink функцията, освен една от преди 2 години. Пробвай да минеш на > 4.3.11. Опитай също да му подадеш директно низа в единични кавички, т.е. > да изолираш колкото се може повече случая. Нещо такова: > > <? > var_dump(ini_get('display_errors')); > var_dump(ini_get('error_reporting')); > > $filename = '/path/to/file'; > > if (file_exists($filename)) { > var_dump(stat($filename)); > var_dump(unlink($filename)); > clearstatcache(); > var_dump(stat($filename)); > var_dump(file_exists($filename)); > } > else { > echo 'File not found.'; > } > ?> който иска да дебъгва string(1) "1" string(4) "2047" array(26) { [0]=> int(64768) [1]=> int(4276) [2]=> int(33279) [3]=> int(1) [4]=> int(33) [5]=> int(33) [6]=> int(-1) [7]=> int(2361) [8]=> int(1115305110) [9]=> int(1115284902) [10]=> int(1115284902) [11]=> int(-1) [12]=> int(-1) ["dev"]=> int(64768) ["ino"]=> int(4276) ["mode"]=> int(33279) ["nlink"]=> int(1) ["uid"]=> int(33) ["gid"]=> int(33) ["rdev"]=> int(-1) ["size"]=> int(2361) ["atime"]=> int(1115305110) ["mtime"]=> int(1115284902) ["ctime"]=> int(1115284902) ["blksize"]=> int(-1) ["blocks"]=> int(-1) } bool(true) <br /> <b>Warning</b>: stat(): Stat failed for /var/www/mobile/data/langs.conf.php (errno=2 - No such file or directory) in <b>/var/www/mobile/admin/editlanguage.php</b> on line <b>65</b><br /> bool(false) bool(false) Всичко е ок но файла продължава да си е там просто датата на модификация е текущата. Вече взеха да ме ме гонят някви паранои че се изтрива и след това се създава сам все едно възкръсва. Ако знам вече какво става по едно време триеше само ако принтнех името на файла който ще се трие защото иначе файла няма никакъв печат прави нещо и се редиректва след това. Много странно стана това.