|
ivanscm ↓
|
 |
|
27 Август, 2010, 08:16:08
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
в общем в своем скрипте, точнее модуле довнлоадера мне надо подсчитывать трафик :) решил просто - у меня закачка идет по очереди, и после скачки каждого файла решил писать в файл: прежнее значение + размер скаченого. сайз верный, он пишется в БД в информации о файле. подсчет места на диске не тот вариант, и сумма полей в БД так как эта информация удаляется и тп. сцуко убейте меня:
$file_traffic = fopen($_SERVER['DOCUMENT_ROOT']. "/work_status/incoming_traffic.sys", "r+");
$traffic = fgets($file_traffic);
$traffic += $size;
fwrite($file_traffic, $traffic);
fclose($file_traffic);
05811118473545811120321435.8111184735458E+235.8111184735458E+475.8111184735458E+2595.8111184735458E+2595.8111184735458E+2595.8111184735458E+2595.8111184735458E+2595.8111184735458E+2595.8111184735458E+2595.8111184735458E+259
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|
adw0rd ↓
|
 |
|
27 Август, 2010, 08:44:12 , спустя 28 минут 4 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
эдво
Группа: Джедаи Карма: не нужна
Сообщений: 17221 Сила слова: 1.65
|
нифига не понял...
покажи формат хранения данных
"прежнее значение" - это прошлый "размер скаченого"? Спустя 42 секунды добавил сайз верный, он пишется в БД в информации о файле.
БД тут причем? Ты же в файлы все пишешь Спустя 10 секунд добавил Пятница...
|
|
|
|
|
Записан
|
|
|
|
|
Nyaah ↓
|
 |
|
27 Август, 2010, 08:47:14 , спустя 3 минуты 2 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 31
Сообщений: 479 Сила слова: 6.47
|
$file_traffic = fopen($_SERVER['DOCUMENT_ROOT']. "/work_status/incoming_traffic.sys", "r+");
flock($file_traffic, LOCK_EX );
$traffic = fgets($file_traffic);
$traffic += $size;
ftruncate($file_traffic, 0);
fseek($file_traffic, 0, SEEK_SET );
fwrite($file_traffic, $traffic);
fflush($file_traffic);
flock($file_traffic, LOCK_UN );
fclose($file_traffic);
|
|
|
|
|
Записан
|
Work, buy, consume, die
|
|
|
|
ivanscm ↓
|
 |
|
27 Август, 2010, 08:50:33 , спустя 3 минуты 19 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
$size = GetUrlSize ($row['url']);
$file_traffic = fopen($_SERVER['DOCUMENT_ROOT']. "/work_status/incoming_traffic.sys", "r+");
$traffic = fgets($file_traffic);
$traffic = $traffic + $size;
fwrite($file_traffic, $traffic);
fclose($file_traffic);
mysql_query("UPDATE `files` SET `size`= '{$size}', `status`= 'runload' WHERE `id` = '{$row['id']}'");
// качаем
$temp_name = md5($row['url']);
$ch = curl_init ($row['url']);
$fp = fopen("../files/". $temp_name, "w");
curl_setopt ($ch, CURLOPT_FILE, $fp);...
та никакого формата, эдво. тупо число. прошлое. прошлый траффик. файл готовим для скачки, узнаем размер, считываем с файла, прибавляем, перезаписываем. качаем. Спустя 44 секунды добавил Nyaah, нах лочить. файлы по очереди качаются. скрипт сам себя запускает :) Спустя 51 секунду добавил Еще по пальцам покажи что как?
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|
Nyaah ↓
|
 |
|
27 Август, 2010, 08:52:57 , спустя 2 минуты 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 31
Сообщений: 479 Сила слова: 6.47
|
Лочить надо всегда, это сейчас ты думаешь, что доступ к файлу будет иметь только один процесс, а потом куяг и все сдохло. Сам просто пару раз сталкивался, тоже думал нах лочить...
|
|
|
|
|
Записан
|
Work, buy, consume, die
|
|
|
|
888eug ↓
|
 |
|
27 Август, 2010, 08:53:37 , спустя 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 14 Сила слова: 0
|
Вытаскивай значение в переменную и складывай с $traffic
|
|
|
|
|
Записан
|
|
|
|
|
ivanscm ↓
|
 |
|
27 Август, 2010, 08:54:54 , спустя 1 минуту 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
ясно прислушаемся. ща опробуем.
а надо (int )$traffic = fgets($file_traffic); не?
Спустя 19 секунд добавил 888eug, ну я чего и делаю. Спустя 31 секунду добавил чесно слово, с файлами первый раз работаю :)
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|
Nyaah ↓
|
 |
|
27 Август, 2010, 08:59:13 , спустя 4 минуты 19 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Джедаи Карма: 31
Сообщений: 479 Сила слова: 6.47
|
в смысле что как?
$file_traffic = fopen($_SERVER['DOCUMENT_ROOT']. "/work_status/incoming_traffic.sys", "r+");
// лочим на чтение, после этого дотуп к файлу будет иметь только наш скрипт
flock($file_traffic, LOCK_EX );
$traffic = fgets($file_traffic);
$traffic += $size;
// делаем размер файла равным 0
ftruncate($file_traffic, 0);
// переводим курсор на начало фала
fseek($file_traffic, 0, SEEK_SET );
fwrite($file_traffic, $traffic);
// скидываем записанные данные на диск
fflush($file_traffic);
// снимаем блокировку
flock($file_traffic, LOCK_UN );
fclose($file_traffic); Устественно по хорошему нужно все проверять, поставилась ли блокировка, очистился ли файл и тп Спустя 1 минуту 54 секунды добавил ясно прислушаемся. ща опробуем.
а надо(int )$traffic = fgets($file_traffic); не?
если уверен, что в файле уже есть число, то
$traffic = doubleval(fgets($file_traffic));
я так понял, что ты размер указываешь в байтах, значит инта не хватит, нужно число с плавающей точкой юзать
|
|
|
|
|
Записан
|
Work, buy, consume, die
|
|
|
|
ivanscm ↓
|
 |
|
27 Август, 2010, 08:59:53 , спустя 40 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
Nyaah, да верно, байты Спустя 17 секунд добавил + ушел в репу
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|
888eug ↓
|
 |
|
27 Август, 2010, 09:03:49 , спустя 3 минуты 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
|
Карма: 0
Сообщений: 14 Сила слова: 0
|
у тебя похоже выводится как строка. Попробуй поставить вместо
$traffic += $size;
это
$traffic = float ($traffic + $size);
|
|
|
|
|
Записан
|
|
|
|
|
ivanscm ↓
|
 |
|
27 Август, 2010, 09:05:21 , спустя 1 минуту 32 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
888eug, спасибо, но вроде работает по первому варианту :) Спустя 21 секунду добавил гы 404
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|
Givi ↓
|
 |
|
28 Август, 2010, 12:00:38 , спустя 2 часа 55 минут 17 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2248 Сила слова: 1.87
|
а чего не сделать: $size = file_get_contents('tru-lya-lya.txt') -> к полученному/старому значению добавляем нынешнее ($size + $size_now) -> file_put_contents('tru-lya-lya.txt',$size) ?
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
ivanscm ↓
|
 |
|
28 Август, 2010, 10:20:53 , спустя 10 часов 20 минут 15 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
Givi, хм. интересно. прям как на израильском форуме :) надо почитать ман.
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|
Givi ↓
|
 |
|
28 Август, 2010, 02:20:56 , спустя 4 часа 3 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
Группа: Адекваты Карма: 42
Сообщений: 2248 Сила слова: 1.87
|
ivanscm, а с чего сравнение с израильским форумом?
А ман таки почитай, мне данные функции очень нравятся.
|
|
|
|
|
Записан
|
Все, что говорят другие - неправда! До тех пор, пока ты сам в это не поверишь. Если человек дурак, то... чур это не я!
|
|
|
|
ivanscm ↓
|
 |
|
28 Август, 2010, 03:36:46 , спустя 1 час 15 минут 50 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
Синий властилин
Группа: Джедаи Карма: 9
Сообщений: 1049 Сила слова: 0.86
|
может помнишь я в анекдотах выкладывал про форумы. израильский - вопросом на вопрос. на русском вопрос - афтар мудаг
|
|
|
|
|
Записан
|
 На этом форуме я должен 5 бачей МД5 и 500 рур Кафе. ПЫХА Я ТЕБЯ ЛЮБЛЮ!
|
|
|
|