$query = (new \yii\db\Query())->
select(["to_char(cd.date, 'YYYY-MM-dd HH24:MI') as day",
"c.host_id", "cd.customer_id"])
->from('customer_download cd')
->leftJoin('customer c', '"c"."id" = "cd"."customer_id"')
Веб-сервер выполняет только один однопоточный процесс, поэтому приложения PHP будут останавливаться, если запрос заблокирован.
localhost:4000/handler.php
потому-что для начала ему нужно завершить запрос к файлу где у вас выводится file_get_contents()
. В то-же время он не может завершить запрос к файлу с file_get_contents()
потому-что для этого нужно завершить запрос к localhost:4000/handler.php
, в итоге сервер висит.$url = 'http://localhost/post.php';
$params = array(
'param1' => '123', // в http://localhost/post.php это будет $_POST['param1'] == '123'
'param2' => 'abc', // в http://localhost/post.php это будет $_POST['param2'] == 'abc'
);
$result = file_get_contents($url, false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => http_build_query($params)
)
)));
echo $result;
$('.btn').click();
$('a')[0].click();
setTimeout(function(){
$('.btn').click();
}, 1000);
<div class="a b" id="ab"></div>
ab.classList;
(2) ["a", "b", value: "a b"]
ab.classList.add('c');
<div class="a b с" id="ab"></div>
$file = \Yii::getAlias('@webroot/archive'.microtime().'.zip');
$zip = new \ZipArchive();
$zip->open($file, \ZIPARCHIVE::CREATE);
$zip->addFile("index.php");//добавляем файлы в архив
$zip->close();
if (file_exists($file)) {
\Yii::$app->response->sendFile($file, 'archive.zip');
ignore_user_abort(true);//удаление временного файла
if (connection_aborted()) unlink($file);
register_shutdown_function('unlink', $file);
}
[
'attribute' => 'created_at',
'format' => 'datetime',
'filter' => DatePicker::widget([
'model' => $searchModel,
'attribute' => 'date_from',
'attribute2' => 'date_to',
'type' => DatePicker::TYPE_RANGE,
'separator' => '-',
'pluginOptions' => ['format' => 'yyyy-mm-dd']
])
],