<?php
// ...
$data = [
'params' => json_encode([
"type" => "GENERATE",
"numImages" => 1,
"width" => 1024,
"height" => 1024,
'generateParams' => [
'query' => 'море'
]
]),
'model_id' => '4'
];
// ...
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-Key: Key '.$xKey,
'X-Secret: Secret '.$xSecret,
'Content-Type: application/json' // <--- !!!
]);
// ...
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// ...
p.s. Я так понимаю из python кода он хочет мультипарт, но не понимаю как подобное реализовать в php
# ...
data = {
'model_id': (None, model),
'params': (None, json.dumps(params), 'application/json') # ??? !!!
}
# ...
UDP-сокеты иногда могут открываться без ошибки, даже если удалённый хост недоступен. Ошибка станет заметной только когда вы будете читать или писать данные из/в сокет. Причина этого в том, что UDP - это протокол без соединения, что означает, что операционная система не пытается установить соединение с сокетом до тех пор, пока ей в действительности не нужно отправить или получить данные.
<?php
$datapost = array(
array(
'header' => 'город Москва',
'category_id' => '1',
),
array(
'header' => 'село Огонёво',
'category_id' => '2',
),
array(
'header' => 'село Быстрино',
'category_id' => '2',
),
array(
'header' => 'посёлок Восточный',
'category_id' => '7',
),
);
$query = mysqli_query($connect, "SELECT `id` FROM `category` ");
$rows = mysqli_fetch_all($query, MYSQLI_ASSOC);
$arIDs = [];
foreach($rows as $row) {
$arIDs[$row['id']] = $row['id'];
}
$arResults = [];
foreach($datapost as $data) {
if(array_key_exists($data['category_id'], $arIDs))
$arResults[$data['category_id']][] = $data;
}
print_r($arResults);
$promo_mask = 'XXXX-5555-XXXX-5555';
$mask_count = substr_count($promo_mask, 'X');
$promo = $promo_mask;
$chars = '12345ABCDEFGHIJKLMNOPQRSTUVWXYZ67890';
$hashpromo = '';
for($ichars = 1; $ichars <= $mask_count; ++$ichars) {
$random = str_shuffle($chars);
$promo = preg_replace('/X/', $random[$ichars], $promo, 1);
}
echo $promo;
<?php
$TEST_DATA = 'Продукт 1; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 2; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 3; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 4; Воздуховоды/Круглые/Нержавеющие;
Продукт 5; Воздуховоды/Круглые/Нержавеющие;
Продукт 6; Воздуховоды/Круглые/Нержавеющие;';
$TEST_DATA2 = 'Продукт 1; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 2; Воздуховоды/Круглые/Нержавеющие;
Продукт 3; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 4; Воздуховоды/Круглые/Нержавеющие;
Продукт 5; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 6; Воздуховоды/Круглые/Нержавеющие;';
$arData = array_map(function($val) {
return array_filter(array_map('trim', explode(';', $val)));
}, preg_split('#[\r\n]#isu', $TEST_DATA, -1, PREG_SPLIT_NO_EMPTY));
/* Всё, что выше - к задаче не относится...имитация получения данных из CSV... */
$arRes = [];
foreach($arData as $data) {
$arCategories = array_filter(array_map('trim', explode('/', $data[1])));
$MAIN_CATEGORY = array_shift($arCategories);
$HASH = md5(implode('/', $arCategories));
$arRes[$MAIN_CATEGORY][$HASH][] = [
'product_name' => $data[0],
'category' => $data[1],
'category_items' => $arCategories
];
}
$HASH = false;
foreach($arRes as $main_category => $arSubCategories) {
echo $main_category."\r\n";
foreach($arSubCategories as $h => $arItems)
foreach($arItems as $item) {
if($HASH != $h) {
$HASH = $h;
foreach($item['category_items'] as $k => $category) {
$k++;
echo str_repeat('!', $k).$category."\r\n";
}
}
echo $item['product_name'].';'.$item['category'].';'."\r\n";
}
}
/* RESULT:
Воздуховоды
!Прямоугольные
!!Оцинкованные
Продукт 1;Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 2;Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 3;Воздуховоды/Прямоугольные/Оцинкованные;
!Круглые
!!Нержавеющие
Продукт 4;Воздуховоды/Круглые/Нержавеющие;
Продукт 5;Воздуховоды/Круглые/Нержавеющие;
Продукт 6;Воздуховоды/Круглые/Нержавеющие;
*/
<?php
$TEST_DATA = 'Продукт 1; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 2; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 3; Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 4; Воздуховоды/Круглые/Нержавеющие;
Продукт 5; Воздуховоды/Круглые/Нержавеющие;
Продукт 6; Воздуховоды/Круглые/Нержавеющие;';
$arData = array_map(function($val) {
return array_filter(array_map('trim', explode(';', $val)));
}, preg_split('#[\r\n]#isu', $TEST_DATA, -1, PREG_SPLIT_NO_EMPTY));
/* Всё, что выше - к задаче не относится...имитация получения данных из CSV... */
$VAR = false;
$VAR2 = false;
foreach($arData as $data) {
$arCategories = array_filter(array_map('trim', explode('/', $data[1])));
$MAIN_CATEGORY = array_shift($arCategories);
if($VAR !== $MAIN_CATEGORY) {
$VAR = $MAIN_CATEGORY;
echo $MAIN_CATEGORY."\r\n";
}
$CATEGORIES = implode('/', $arCategories);
if($VAR2 !== $CATEGORIES) {
foreach($arCategories as $k => $category) {
$k++;
echo str_repeat('!', $k).$category."\r\n";
}
$VAR2 = $CATEGORIES;
}
echo $data[0].';'.$data[1].';'."\r\n";
}
/* RESULT:
Воздуховоды
!Прямоугольные
!!Оцинкованные
Продукт 1;Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 2;Воздуховоды/Прямоугольные/Оцинкованные;
Продукт 3;Воздуховоды/Прямоугольные/Оцинкованные;
!Круглые
!!Нержавеющие
Продукт 4;Воздуховоды/Круглые/Нержавеющие;
Продукт 5;Воздуховоды/Круглые/Нержавеющие;
Продукт 6;Воздуховоды/Круглые/Нержавеющие;
*/
wget -P /save/to/folder/file.json http://site.ru/file.json
<?php
$ar1 = [
[28],
[28, 29]
];
$ar2 = [28, 29];
$arRes = [];
$arResult = [];
foreach($ar1 as $arItems) {
foreach($arItems as $item) {
if(in_array($item, $ar2))
if(!isset($arRes[$item]))
$arRes[$item] = 1;
else
$arRes[$item]++;
}
}
$allAr1 = count($ar1);
foreach($arRes as $k => $v)
if($v >= $allAr1)
$arResult[] = $k;
print_r($arResult);
<?php
// Если прям банально...то так тупо можно:
// ВАРИАНТ 1
$str = str_replace('х', 'x', '6x6'); // В первом случае "х" - русская, во втором - английская
// И в запросе:
$sql = "SELECT * FROM `table` WHERE REPLACE(`field`, 'х', 'x') = '".$str."'"; // В первом случае "х" - русская, во втором - английская
// ВАРИАНТ 2
//В запросе:
$sql = "SELECT * FROM `table` WHERE REPLACE(`field`, 'х', 'x') = REPLACE('6x6', 'х', 'x')"; // В первом случае "х" - русская, во втором - английская
// P.S.: Не указано какая БД...я отталкивался от MySQL, если что...
Частенько у меня проблемки с датами в работе..