Проблема с определением размера файла...

MaDGuy

Новичок
Проблема с определением размера файла...

есть код...
$ID = $_GET["showid"];
$pathtofile = $homepath . "components\\replays\\reps\\";
$folderpath = $sitepath . "components/replays/reps/";
$file = fopen($pathtofile.$ID.".txt", "r+");
$map_img = fgets($file,10);
$races = fgets($file,80);
$tour = fgets($file,80);
$map = fgets($file,80);
$vgame = fgets($file,50);
$dloads = 0;
$comms = 0;
$fname = fgets($file, 40);
$ab = fread($file, 800);
$url = $folderpath.$fname;
$fsize = filesize($pathtofile.$fname); //Когда мы пытаемся так определить размер вылетает ошибка...
когда:
$fsize = filesize($pathtofile."1.w3g"); работает...
в чём проблема? (прчём $fname точно работает, т.к. переменная $url имеет точный адрес, и при нажатии на него начинается закачка...
 

MaDGuy

Новичок
ошибка вылетает следующая:
Warning: filesize(): Stat failed for Z:\home\JmD.com\www\components\replays\reps\1.w3g (errno=2 - No such file or directory) in z:\home\jmd.com\www\components\replays\showreplays.php on line 15
 

Фанат

oncle terrible
Команда форума
о, родил.
ну, теперь изучай строку $pathtofile.$fname на соответствие строке $pathtofile."1.w3g"
к примеру, можешь для начала, сравнить их длину.
 

Фанат

oncle terrible
Команда форума
удивительно. а должно, наверное, выводиться сто тыщ мильёнов
 

Фанат

oncle terrible
Команда форума
рассуждать будешь дома.
а сейчас делай, что велят
 

MaDGuy

Новичок
1. Я и так дома.
2. если ты про функцию fgets то она же читает файл либо до конца строки либо до конца файла...
зы
длинну чего сравнивать?
 

Фанат

oncle terrible
Команда форума
см. моё сообщение от 20:55
там русским языком написано
 

MaDGuy

Новичок
так, поставил длинну файла 6 символов, работает, но теперь другая проблема как определить длинну строки(кол-во символов на строке в файле)

-~{}~ 13.06.06 21:06:

т.е у меня всё время разное имя будет, как определить, сколько символов ему из строки считывать?
 

MaDGuy

Новичок
я сравнил, поставил длинну в 6 символов, т.е.
$fname = fgets($file, 6);
всё стало работать..

-~{}~ 13.06.06 21:09:

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

Фанат

oncle terrible
Команда форума
ну ты орёл...
ты русский язык, вообще, понимаешь?
где у меня написано было "поставить длинну"?!
я тебе что сказал сделать?
ты сделал?
какие результаты?
 

MaDGuy

Новичок
Z:\home\JmD.com\www\components\replays\reps\1.w3g
вот длинна файла после
print $pathtofile.$fname;

Z:\home\JmD.com\www\components\replays\reps\1.w3g
вот длинна файла после
print $pathtofile."1.w3g";

теперь по идее останется удалить все пробелы справа в $pathtofile.$fname
 

Фанат

oncle terrible
Команда форума
вот длинна файла после
print $pathtofile.$fname;
что-то я не наблюдаю обещанную длину.
длина измеряется в цифрах. цифр я здесь не вижу.

-~{}~ 13.06.06 21:18:

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

MaDGuy

Новичок
видно было что это пробелы после print $pathtofile.$fname;...
длинна после
print $pathtofile.$fname;
равна 50
после
print $pathtofile."1.w3g";
равна 49

-~{}~ 13.06.06 21:24:

всё, фанкцией trim удалил пробелы всё заработало
 

Фанат

oncle terrible
Команда форума
видно было что это пробелы
где видно? в браузере?
а ты в курсе, что в браузер пялятся только юзеры и ламеры, а человек, который берётся писать на пхп, должен знать, что такое исходный текст страницы.
и вот если бы ты это знал, то увидел бы, что это никакой не пробел, а перевод строки.
раз уж ты не в курсе, что есть такой специальный символ, который и означает конец строки, и никогда не задумывался о том, что такое строки.

в качестве домашнего задания самостоятельно найдёшь в документации функцию, которая выполняет необходимое тебе действие.
 
Сверху