#141 2013.04.30 22:41

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6579
Карма: 108
Профиль Веб-сайт

Re: Вопрос-Ответ по JavaScript

Vamp, тебе уже ответили.
пройдись по всем файлам, и у которых размер 0 удаляй.

Неактивен

#142 2013.04.30 22:59

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Вопрос-Ответ по JavaScript

чтото делаю не так


вот

Код:

1
2
3
4
5
6
7
8
9
10
11
$dirname = "cache/game";
$dirhandle = opendir($dirname);
$filename = "";
 
while (($filename = readdir($dirhandle)) !== false)
if(filesize($filename) == 0)
{
unlink($filename);
}
 
closedir($dirhandle);

Добавлено спустя   2 минуты  13 секунд:
не удаляет


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#143 2013.04.30 23:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2396
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

Vamp написал:

чтото делаю не так


вот

$dirname = "cache/game";
$dirhandle = opendir($dirname);
$filename = "";

while (($filename = readdir($dirhandle)) !== false)
if(filesize($filename) == 0)
{
unlink($filename);
}

closedir($dirhandle);
Добавлено спустя   2 минуты  13 секунд:
не удаляет

Попробуй рекурсивное удаление директории.
А так же проверь права

Неактивен

#144 2013.04.30 23:45

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6579
Карма: 108
Профиль Веб-сайт

Re: Вопрос-Ответ по JavaScript

Код:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$dirname "cache/game";
$dirhandle opendir($dirname);
$filename "";
 
while (($filename readdir($dirhandle)) !== false) {
    if (filesize($dirname '/' $filename) === 0) {
        unlink($dirname '/' $filename);
    }
}
 
closedir($dirhandle);

Неактивен

#145 2013.05.01 13:50

Vamp
Участник
Откуда: интернет
Зарегистрирован: 2008.02.25
Сообщений: 54
Карма: 1
Профиль

Re: Вопрос-Ответ по JavaScript

спасибо


Нельзя вернуться в прошлое и изменить свой старт,
но можно стартовать сейчас и изменить свой финиш.

Неактивен

#146 2014.02.15 23:22

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2396
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

Есть ли альтернатива JSON.parse? Почему то с апи ютуба местами появляются битые символы при парсиге кирилицы в utf8

Неактивен

#147 2014.02.15 23:53

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6579
Карма: 108
Профиль Веб-сайт

Re: Вопрос-Ответ по JavaScript

TLENS, eval раньше использовали.

Неактивен

#148 2014.02.16 00:39

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2396
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

Была мысля)) Но что то насторожило меня это на боевом nodejs сервере.
Добавлено спустя   6 минут  35 секунд:
Проверил. Можно завернуть в трайкэч. Спасибо :)

Неактивен

#149 2014.02.16 01:35

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2396
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

Блин. Проблема вовсе не в парсинге. Битые символы уже есть в полученном файле. Проблему надо искать в получении содержимого. Возможно проблема в склеивании строк при плюсовании новых полученных данных из буфера сокета. Сейчас буду искать причину.

Код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var output = "";
var status;
var headers;
var req = (parseUrl.protocol == "https:" ? https: http).get(url, function(res) {
status = res.statusCode;
headers = res.headers;
res.on('data', function(d) {
output += d;
})
.on('end', function () {
console.log(output);
callback(null, output, status, headers);
});
})

Добавлено спустя   5 минут  44 секунды:
Собственно как Я и предполагал.
Добавил такой код и получил тексты которые c битыми символами

Код:

1
2
3
4
5
6
7
res.on('data', function(d) {
var l = output.length;
if (l > 0) {
console.log(output.substr(l-10, l, 'utf-8'));
}
output += d.toString();
})

Неактивен

#150 2014.02.16 01:45

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2396
Карма: 14
Профиль

Re: Вопрос-Ответ по JavaScript

Решение нашел быстро. Все решается указав входящему потоку кодировку res.setEncoding('utf8');

Код:

1
2
3
4
5
6
7
var req = (parseUrl.protocol == "https:" ? https: http).get(url, function(res) {
status = res.statusCode;
headers = res.headers;
res.setEncoding('utf8');
res.on('data', function(d) {
output += d;
})

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.1
0.014 s