本文整理汇总了PHP中app\helpers\Helper::formatHourAndMin方法的典型用法代码示例。如果您正苦于以下问题:PHP Helper::formatHourAndMin方法的具体用法?PHP Helper::formatHourAndMin怎么用?PHP Helper::formatHourAndMin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\helpers\Helper
的用法示例。
在下文中一共展示了Helper::formatHourAndMin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: function
<h2>My images</h2>
<?php
echo GridView::widget(['dataProvider' => $myPictureDP, 'columns' => [['header' => 'Image', 'format' => 'raw', 'value' => function ($row) {
return Html::a(Html::img('/images/' . $row->source, ['style' => 'max-width: 300px; max-height: 300px']), '/picture/' . $row->id);
}], 'algorithm:text:Output layer', ['header' => 'Position in queue', 'format' => 'text', 'value' => function ($row) use($lastPendingId, $pendingPicsCount) {
$pos = intval($row->id - $lastPendingId);
if ($pos == 1) {
return '1st / ' . $pendingPicsCount;
}
if ($pos == 2) {
return '2nd / ' . $pendingPicsCount;
}
return $pos . 'th / ' . $pendingPicsCount;
}], ['header' => 'Time before complete', 'format' => 'text', 'value' => function ($row) use($lastPendingId, $avgPictureTime) {
$pos = intval($row->id - $lastPendingId);
return '~' . Helper::formatHourAndMin(($pos + 1) * $avgPictureTime);
}]]]);
?>
<!-- apt <?php
echo $avgPictureTime;
?>
rt <?php
echo $readyTime;
?>
-->
<?php
$script = <<<JS
\tvar chooseYarik = function (a) {
\t\t\$("#uploadform-algoid").val(a);
\t\t\$(".pic-algo img").css('border', 'none');
示例2: actionUpload
public function actionUpload($key = null)
{
$readyPicsCount = Picture::find()->where(['state' => 'ready'])->count();
$lastPictures = Picture::find()->where(['state' => 'ready'])->orderBy('updated ASC')->limit(50)->offset($readyPicsCount - 50)->all();
$avgPictureTime = 0;
if (count($lastPictures) > 1) {
$summ = 0;
for ($i = 1; $i < count($lastPictures); $i++) {
$diff = strtotime($lastPictures[$i]->updated) - strtotime($lastPictures[$i - 1]->updated);
$summ += $diff;
}
$avgPictureTime = intval($summ / (count($lastPictures) - 1));
}
$readyTime = $avgPictureTime * Picture::find()->where(['state' => 'new'])->count();
$myPictureDP = new ActiveDataProvider(['query' => Picture::find()->where(['state' => 'new', 'ip' => Yii::$app->getRequest()->getUserIP()]), 'sort' => false]);
$lastPending = Picture::find()->where(['state' => 'pending'])->orderBy('id DESC')->one();
if ($lastPending == null) {
$lastPending = Picture::find()->where(['state' => 'ready'])->orderBy('id DESC')->one();
}
$pendingPicsCount = Picture::find()->where(['state' => 'new'])->count();
$algorithms = [];
$algos = Algorithm::find()->orderBy('count DESC')->all();
foreach ($algos as $algo) {
if (count($algorithms) == 0) {
$algorithms[$algo->getPrimaryKey()] = $algo->name . ' (default, ' . $algo->count . ' pics)';
} else {
$algorithms[$algo->getPrimaryKey()] = $algo->name . ' (' . $algo->count . ' pics)';
}
}
$viewData = ['readyTime' => $readyTime, 'myPictureDP' => $myPictureDP, 'avgPictureTime' => $avgPictureTime, 'lastPendingId' => $lastPending->id, 'pendingPicsCount' => $pendingPicsCount, 'algorithms' => $algorithms, 'algos' => $algos];
$priority = 0;
if ($key != null) {
$keyModel = Key::find()->where(['value' => $key])->andWhere('used < count')->one();
if ($keyModel == null) {
throw new HttpException(404, "Bad key");
}
$priority = $keyModel->priority;
$viewData['key'] = $keyModel;
}
$model = new UploadForm();
if ($model->load(Yii::$app->request->post())) {
$image = UploadedFile::getInstance($model, 'image');
$model->image = $image;
if ($model->validate() && $model->check()) {
$size = getimagesize($image->tempName);
list($width, $height, $type) = $size;
if ($type == IMAGETYPE_JPEG) {
$img = imagecreatefromjpeg($image->tempName);
} else {
if ($type == IMAGETYPE_PNG) {
$img = imagecreatefrompng($image->tempName);
} else {
throw new HttpException(400, 'Bad image');
}
}
$srcName = Helper::gen_uuid() . '.jpg';
$filename = \Yii::$app->basePath . '/web/images/' . $srcName;
$k = 650;
if (!($width <= $k && $height <= $k)) {
$minSide = (int) (min($width, $height) * $k / max($width, $height));
list($newWidth, $newHeight) = $width > $height ? [$k, $minSide] : [$minSide, $k];
$newImage = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($newImage, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagejpeg($newImage, $filename, 100);
} else {
imagejpeg($img, $filename, 100);
}
$hash = sha1(file_get_contents($filename));
$count = Picture::find()->where(['hash' => $hash, 'algorithmId' => $model->algoId])->all();
if (count($count) > 0) {
unlink($filename);
$first = $count[0];
Yii::$app->getSession()->setFlash('success', 'This image was already submitted.');
return $this->redirect('/picture/' . $first->getPrimaryKey());
}
$algo = Algorithm::find()->where(['id' => $model->algoId])->one();
$picture = new Picture();
$picture->email = $model->email;
$picture->ip = \Yii::$app->getRequest()->getUserIP();
$picture->source = $srcName;
$picture->output = null;
$picture->state = 'new';
$picture->hash = $hash;
$picture->status = 0;
$picture->priority = $priority;
$picture->algorithm = $algo->name;
$picture->algorithmId = $model->algoId;
$picture->save();
$algo->count += 1;
$algo->save();
if (!empty($keyModel)) {
$keyModel->used += 1;
$keyModel->save();
\Yii::$app->getSession()->setFlash('success', 'Your image were successfully uploaded. Converted image will be ready <b>ASAP</b> and sent on your email. Thank you!');
} else {
\Yii::$app->getSession()->setFlash('success', 'Your image were successfully uploaded. Converted image will be ready after ~' . Helper::formatHourAndMin($readyTime) . ' and sent on your email. Thank you!');
}
return $this->redirect('/picture/' . $picture->getPrimaryKey());
}
}
//.........这里部分代码省略.........