WebStorm

Рейтинг
165
Регистрация
01.11.2008
dmitry4794884948 #:

7.07 указал реквизиты. 8.07 отправили перевод. 11.07 перевод не удался и деньги вернулись.

Банк посредник:

Zhejiang Chouzhou Commercial Bank

CZCBCN2X

Почему вывод на КЕБ не будет работать?

потому что по правилам адсенса вывод доступен только на банки, у которых есть посредник (корреспондент) в сша, у китайского Zhejiang Chouzhou Commercial Bank его похоже нет, вот тут тоже пишут, что ничего не приходит на КЕБ: https://gamedev.ru/industry/forum/?id=267528&page=172

(172 страница)

тут один товарищ с ником "dejanews" всем говорил "усбагойтесь", когда писали про то, что вывод на КЕБ не будет работать, а теперь что-то притих

так более оптимально, можно записывать не с какого по какой байт, а с какого байта и длину (C - до 256):

$f1 = fopen(__DIR__ . '/person_index.bin','wb+');
$f2 = fopen(__DIR__ . '/person_data.bin','wb+');
$from = 0;
for($i=0;$i<=$max;$i++)
{
        if(isset($data[$i]))
        {
                $len=strlen($data[$i]);
                fwrite($f1, pack('N', $from ).pack('C', $len ));
                fwrite($f2, $data[$i]);
                $from+= $len;
        }
        else
        {
                fwrite($f1, pack('N', 0 ).pack('N', 0 ));
        }
}
fclose($f1);
fclose($f2);

а чтобы прочитать потом по идешнику $id, умножаем $id на 5 (N 4 байта + C 1 байт), читаем индекс с нужного места, 5 байт, определяем с какого байта надо читать датафайл и длину и читаем

ps: при использовании N - максимальный размер датафайла с данными, около 4 гигов

lutskboy #:

хорошая идея. взял на заметку.

fwrite($f, pack('a'. $maxnamelen , $data[$i] )); а вот эта штуковина не раздует слишком файл?

если например имя одно 3 символа. а другое 32. то он забьет чем эти пространства? дополнит 3 до 32 чем? 

надо попробовать

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

- один из них будет индексом, в нём будут идешниками номера записей, а значениями, с какого по какой байт во втором датафайле находится содержимое

- второй - собственно содержимое, подряд, можно даже не паковать его, а просто подряд записывать

$f1 = fopen(__DIR__ . '/person_index.bin','wb+');
$f2 = fopen(__DIR__ . '/person_data.bin','wb+');
$from = 0;
for($i=0;$i<=$max;$i++)
{
        if(isset($data[$i]))
        {
                $to=$from+strlen($data[$i]);
                fwrite($f1, pack('N', $from ).pack('N', $to ));
                fwrite($f2, $data[$i]);
                $from = $to;
        }
        else
        {
                fwrite($f1, pack('N', 0 ).pack('N', 0 ));
        }
}
fclose($f1);
fclose($f2);

а зачем вам вообще такая портянка, смешивать штаты с городами в одном списке:

Los Angeles, CA, USA

город

California, USA

штат

Sly32 :

Ну что, остались тут живые погромисты? Нужна помошь в написании регулярки)

Ничего сложного, но я не часто пользуюсь регуляркой, а тут решил не городить всякие сплиты а забирать регуляркой

Есть текст такого вида:

```

This role may also be located in our Playa Vista, CA campus.Note: By applying to this position you will have an opportunity to share your preferred working location from the following: Mountain View, CA, USA; Atlanta, GA, USA; Boulder, CO, USA; Chicago, IL, USA; New York, NY, USA; Los Angeles, CA, USA; San Francisco, CA, USA; Washington D.C., DC, USA.
```

Или такого

``` 

This role may also be located in our Playa Vista, CA campus.Note: Google’s hybrid workplace includes remote and in-office roles. By applying to this position you will have an opportunity to share your preferred working location from the following:In-office locations: San Francisco, CA, USA; Boulder, CO, USA; Los Angeles, CA, USA.Remote location(s): California, USA; Colorado, USA.
```

Нужно забрать из текста все локации, на выходе должно быть так:

Mountain View, CA, USA;  Atlanta, GA, USA;  Boulder, CO, USA;  Chicago, IL, USA;  New York, NY, USA;  Los Angeles, CA, USA;  San Francisco, CA, USA;  Washington D.C., DC, USA; 

San Francisco, CA, USA;  Boulder, CO, USA;  Los Angeles, CA, USA; California, USA; Colorado, USA

У меня получается забрать это только двумя регулярками и обьединить. 
Кто сможет написать одну? Ну или просто варианты?


покажите свои регулярки, а мы подкорректируем

подсказываю:

- во-первых хранить идентификаторы неразумно, тк придётся лазить по всему объёму данных

- чтобы не лазить по всему объёму данных надо сделать фиксированный размер записей, аналог char в mysql

- номером (идентификатором) записи будет просто номер записи в вашем бинарнике, если такого идентификатора не существует, просто заполняйте фиксированный объём нулл байтами

Итого:

имеем массив вида

$data= [
  5 => 'ivan',
  14 => 'vova',
  12=>'Sergio'
]
1 - сортируем по возрастанию по ключам 5,12,14 (ksort)

2 - определяем минимальное и максимальное значение ключей массива, в нашем случае $min = 5, $max=14, а также максимальную длину имени в байтах (по strlen), в нашем случае максимальная длина имени у Sergio, равна $maxnamelen = 6

3 - формируем датафайл:

$f = fopen(__DIR__ . '/person.bin','wb+');
for($i=0;$i<=$max;$i++)
{
        if(isset($data[$i]))
        {
                fwrite($f, pack('a'. $maxnamelen , $data[$i] ));
        }
        else
        {
                fwrite($f, pack('a'. $maxnamelen , '' ));
        }
}
fwrite($f, pack('C',$maxnamelen ));//последний байт датафайла будет нам говорить о максимальной длине имени
fclose($f);

4 - при поиске, по датафайлу, определяем размер датафайла в байтах (filesize), читаем последний байт, определяем максимальную длину имени в байтах, определяем, количество блоков, деля размер датафайла на максимальную длину имени в байтах и читаем файл с нужного места, умножая $id на максимальную длину имени в байтах (идентификатор - это номер записи в датафайле)

ps: собственно поиска то и никакого не будет, вы будете просто дважды читать датафайл - первый раз, чтобы выгрести максимальную длину имени в байтах, а второй, чтобы прочитать само имя с нужного места датафайла (fseek, fread), быстрее некуда

radegast #:
Друзья, в КЭБ-е сказали, что теперь они работают через китайский банк Zhejiang Chouzhou Commercial Bank . Кто знает, посмотрите работает ли Адсенс с этим китайским банком.

с форума адсенса:

Есть правило, все доллары должны обязательно быть переведены через банк с США. Вам нужно уточнить в вашем банке какой банк-посредник нужно указывать в реквизитах AdSense, он должен быть именно из США. Если вы не укажете банк-посредник из США, тогда ваш платеж может пройти через несколько банков-посредников (каждый банк-посредник будет забирать себе комиссию за свои услуги перевода). Кроме того, ваш банк может отказаться принимать такой перевод.

таким образом есть три варианта:

1 - платёж дойдёт через несколько банков-посредников, и каждый будет брать комиссию

2 - платёж отклонит сам банк КЕБ

3 - адсенс вообще его не отправит или какой-нибудь банк-посредник его завернёт, или платёж вообще затеряется

вряд ли вообще кто-то знает, дойдёт ли перевод теперь и если дойдёт, то какая будет комиссия, пора открывать новую тему на форуме "КЕБ всё, куда будем выводить?"

Difashion :

Что выбрать из двух представленных банков в июле 

юникредит многим не открывает счета по надуманным предлогам, хочу открою - хочу не открою, мне не открыл, я подал заявку через сайт две недели назад, ни слуху ни духу, к тому же в тускнеющем свете коллапсирующей российской экономики рубль будет продолжать дешеветь и зачислять на рублёвый счёт не выгодно (долларовые юникредит не открывает), поэтому среди этих двух, при условии что они оба рабочие, я бы выбрал кеб, но чую, что кеб скоро, чувствуя монополию начнёт доить коров и стричь овец по максимуму, уже начал, на бирже вчера курс доллара был  больше 88, а кеб дал обменять только по 85,5

p.s.: не надо выбирать, подавайте заявки на открытие счетов сразу везде, где можете

Shelton724 #:
😀 У них регламент 10 рабочих дней на зачисление SWIFT-перевода. Прошло 3 рабочих дня, а у некоторых уже нервы сдали. Да уж, райф (а до этого рапида) расслабили людей, привыкли к задержкам максимум на сутки... Добро пожаловать в реальность! 😈
суровая реальность такова, что скоро и такого способа вывода не будет
Всего: 644