stat failed

cDLEON

Онанист РНРСlub
stat failed

Warning: filemtime() [function.filemtime]: stat failed for /var/www/html/kinosklad/public_html/movies/Poslednij_zahod.avi in /var/www/html/kinosklad/public_html/antileech/lib/antiLeechLight/.class on line 55

Warning: filesize() [function.filesize]: stat failed for /var/www/html/kinosklad/public_html/movies/Poslednij_zahod.avi in /var/www/html/kinosklad/public_html/antileech/lib/antiLeechLight/.class on line 56

Файл существует. Права на чтение есть (фопен открывает без проблем) Файл весит 2.05 гб.
В мануале по ф-и filesize написано до 4-ёх гигов нормально получается размер.
Меньше 2-ух гб во всех файлах размер и всё остальное получается без проблем. ))
 

cDLEON

Онанист РНРСlub
:D

-~{}~ 20.01.08 23:32:

Убрал...
А как пробить вот это:
If PHP's integer type is only 32 bits on your system, filemtime() will fail on files over 2GB with the warning "stat failed". All stat()-related commands will exhibit the same behavior.
А так же интересует как на различных ОС нужно определять время модификации файла и размер файла. Я то в поиске найти могу, только сомневаюсь, что для всех ОС найду которые используют....

-~{}~ 20.01.08 23:36:

так...Переосмыслил немного. Т.е. в операциях с этим числом мне нужно будет использывать математическую библиотеку?
Так же интересует вопрос из-за чего в пхп может быть выставлено только 32битное целое.
 

cDLEON

Онанист РНРСlub
PS. Заранее извеняюсь если где то спросил как новичёк )
Для меня память это действительно тёмный лес.

-~{}~ 20.01.08 23:47:

ну а беззнаковое целое ПХП ведь держит
на один бит больше :D
 

cDLEON

Онанист РНРСlub
Ну в виде строки то он может её получить от ф-и...
Иначе нахрена цитата в мануале:
Note: Because PHP's integer type is signed and many platforms use 32bit integers, filesize() may return unexpected results for files which are larger than 2GB. For files between 2GB and 4GB in size this can usually be overcome by using sprintf("%u", filesize($file)).
 

BRat

o_0
ты же знаешь чем отличается signed int от unsigned. Почему тогда вопросы такие детские?
 

WP

^_^
=))) Нуб.
1. Надо программировать с E_ALL.
2. Дело не в размере файла.
3. float.
 

cDLEON

Онанист РНРСlub
WP
Я и программирую с E_ALL
В чём же тогда дело?
И при чём здесь числа с плавающей точкой?
BRat
Почему детские? Да потому что я не могу знать почему стат не проходит. Ты мне указал на то, что ПХП не держит беззнаковые интегеры и не держит интегеры больше 32 бит. Я это схавал. Теперь я тебе привёл цитату из мануала, в которой говорится, что что бы получить размер файла большего за 2гб нужно юзать принтФ. Но у меня обламывается не printf, а именно стат.
Короче я запуталсо. Думал сразу что права на файлы не те или ещё чйо. Так права везде 777 стоят....
Я в замешательстве. Не знаю чйо и подумать.
 

kode

never knows best
читая комменты у меня выработалось мнение что stat не работает с файлами более 2 Gb......

. Теперь я тебе привёл цитату из мануала, в которой говорится, что что бы получить размер файла большего за 2гб нужно юзать принтФ. Но у меня обламывается не printf, а именно стат.
stat() != filelength()

-~{}~ 21.01.08 03:02:

и ещё вопрос: safemode включён?
 

cDLEON

Онанист РНРСlub
Нет, не включён.
Интересно, а на никсах stat() работает через внешнюю утилиту?

-~{}~ 23.01.08 16:28:

Как научить stat нормально работать ? Или придётся писать собственную утилиту через exec ?
ЗЫ:
PHP:
<?php
$int=2203977728;
var_dump($int);
#Оutput: float(2203977728)
?>
-~{}~ 23.01.08 16:30:

Если дело в инте, то почему бы не переписать эту ф-ю.
Ведь даже время модификации извлечь нельзя в больших файлах...
 

BRat

o_0
придется писать собственную утилиту под названием ls. или stat. За два дня мог бы и посмотреть в поиске как это люди делают
 

cDLEON

Онанист РНРСlub
BRat
Меня чуть в армию вчера не загребли :D
В распределителе был уже :D
А вообще я так и предпологал. Только вот не понятно почему на винде норм работает а на никсе стат обламывается...И почему до сих пор это не исправлено...
 
Сверху