小编nik*_*aft的帖子

ZipArchive,我需要创建新文件并覆盖现有文件

我正在使用 php ZipArchive,但遇到了一个简单的问题。

我需要创建新文件,如果存在同名的文件,我需要覆盖它。

我的问题是,如果我使用此代码

if ($zip->open($packageFileName, ZipArchive::OVERWRITE) === TRUE)
Run Code Online (Sandbox Code Playgroud)

它将覆盖任何具有相同名称的现有文件,但是如果具有这样名称的文件不存在那么什么都不会发生,如果 case 返回 false 并且我用这个 if case 中的文件填充 zip 文件,但是因为如果文件不在上面的磁盘失败并且没有创建文件。

如果我这样做

if ($zip->open($packageFileName, ZipArchive::CREATE) === TRUE)
Run Code Online (Sandbox Code Playgroud)

它将返回 true 并且文件将被创建或更新,但我不想更新文件,我需要覆盖文件。

所以我有点卡住了,我想覆盖文件,如果它不存在,我想创建它,有没有办法在一行中执行此操作,因此我不必在检查文件是否存在的多行中进行检查,并且然后选择 CREATE 或 OVERWRITE,为什么没有 CREATE_OVERWRITE 常量?

php ziparchive

4
推荐指数
1
解决办法
3858
查看次数

创建了 serviceprovider 然后手动删除了文件并出现错误

我创建了这个提供者:

php artisan make:provider ShortcodesServiceProvider

然后我不得不删除该文件,但现在我得到了

C:\xampp\htdocs\listagram\vendor\laravel\framework\src\Illuminate\Foundation\ProviderRepository.php 第 146 行中的 FatalThrowableError:

找不到类“App\Providers\ShortcodesServiceProvider”

手动删除我创建的提供程序文件后,如何重置服务提供程序?

laravel

3
推荐指数
1
解决办法
872
查看次数

如何计算重复项并按最多重复项排序

如何计算重复项并按最多重复项排序并显示有多少重复项?

我有一个包含一些数字的表格,希望对重复项后的数字进行排序,并为每个数字打印它有多少重复项。

我怎样才能做到这一点?

我的表结构:

    Schema::create('random_numbers', function (Blueprint $table) {
        $table->bigincrements('id');
        $table->biginteger('number')->unsigned();
        $table->timestamps();
    });
Run Code Online (Sandbox Code Playgroud)

laravel

3
推荐指数
1
解决办法
6464
查看次数

不能在刀片模板中使用 OR

当我在 win10 php7.2 nginx 表达式上本地开发时,像这样工作得很好

<div class="{{ $menuclass or 'menu'}}">
Run Code Online (Sandbox Code Playgroud)

这使

<div class="menu">
Run Code Online (Sandbox Code Playgroud)

但是一旦我通过 laravel forge 将它部署到 ubuntu 机器,它就无法工作,我得到了这个

<div class="1">
Run Code Online (Sandbox Code Playgroud)

似乎不是这样做:

isset($menuclass ) ? $menuclass : 'menu'
Run Code Online (Sandbox Code Playgroud)

它只返回 1

任何想法为什么?

此功能在博客上发表:https : //laravel-news.com/blade-or-operator

它是否在 Laravel 的后续版本中被弃用?

laravel laravel-blade

3
推荐指数
1
解决办法
2966
查看次数

如何阻止Laravel缓存ENV文件,有没有办法?

我发现我无法更改.env文件中的内容,并让Laravel在下次运行时选择它。例如我改变了

APP_ENV=production
Run Code Online (Sandbox Code Playgroud)

APP_ENV=local
Run Code Online (Sandbox Code Playgroud)

跑步时

artisan migrate
Run Code Online (Sandbox Code Playgroud)

我仍然被问到是否确定要在生产环境中运行迁移。有没有一种解决方法,而不必每次更新.env文件时都清除缓存?

laravel

3
推荐指数
1
解决办法
57
查看次数

SweetAlert2 检测单选按钮选择

我正在使用 SweetAlert2 javascript 库来显示弹出窗口。SweetAlert2 是 SweetAlert 的一个分支,不再维护。SweetAlert2 允许我添加这样的单选按钮

// inputOptions can be an object or Promise
var inputOptions = new Promise(function(resolve) {
    resolve({
      '#ff0000': 'Red',
      '#00ff00': 'Green',
      '#0000ff': 'Blue'
    });
});

swal({
  title: 'Select color',
  input: 'radio',
  inputOptions: inputOptions,
  inputValidator: function(result) {
    return new Promise(function(resolve, reject) {
      if (result) {
        resolve();
      } else {
        reject('You need to select something!');
      }
    });
  }
}).then(function(result) {
  swal({
    type: 'success',
    html: 'You selected: ' + result
  });
})
Run Code Online (Sandbox Code Playgroud)

SweetAlert2 为无线电输入指定“swal2-radio”名称,如下所示

<input id="swal2-radio-1" type="radio" …
Run Code Online (Sandbox Code Playgroud)

javascript jquery sweetalert sweetalert2

2
推荐指数
1
解决办法
8878
查看次数

更改了迁移类名称,现在迁移失败

我尝试运行composer dump-autoload,然后运行迁移并收到此错误

找不到类“CreateContentTemplateBlocksTable”

我将文件重命名为'CreateTemplateBlocksTable'.
为什么 laravel 还在寻找旧的文件名?某处有缓存吗?

migration laravel

2
推荐指数
1
解决办法
715
查看次数

如何在 Laravel 中通过中止发送消息

如果签名无效,我必须中止某些操作,并且我还想向呈现它的视图发送一条消息。我记得一年前,我在之前的一个项目中能够做这样的事情。但现在当我尝试这个时

    if (!$request->hasValidSignature()) {
        abort(401, 'Signature is not valid.');
    }
Run Code Online (Sandbox Code Playgroud)

我收到一条错误,指出 $message 不可用

这是 abort 函数的定义,因此很明显它将消息作为输入。

public function abort($code, $message = '', array $headers = [])
{
    if ($code == 404) {
        throw new NotFoundHttpException($message);
    }

    throw new HttpException($code, $message, null, $headers);
}
Run Code Online (Sandbox Code Playgroud)

我想知道为什么我会收到此错误:

ErrorException (E_ERROR)
Undefined variable: message (View: 
C:\laragon\www\laraone\resources\views\errors\401.blade.php)
Run Code Online (Sandbox Code Playgroud)

这是我的 401.blade.php 使用该变量的一部分......

<div class="content">
    <div class="title">401</div>Unauthorized action, {{ $message }}
</div>
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5

2
推荐指数
1
解决办法
2599
查看次数

Mysql 无效的日期时间格式:1292 创建一些用于测试的虚拟数据时日期时间值不正确

当向表中插入一些行时,我收到此错误:

SQLSTATE[22007]:无效的日期时间格式:1292 不正确的日期时间值:第 1 行的列“created _at”的“2017-03-26 02:00:00”

我以正确的格式插入:Ymd H:i:s 那么是什么导致了问题?

更新:

CREATE TABLE `posts` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `title` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `excerpt` text COLLATE utf8mb4_unicode_ci,
  `body` text COLLATE utf8mb4_unicode_ci NOT NULL,
  `image_path` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `image` varchar(191) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
  `slug` varchar(191) COLLATE utf8mb4_unicode_ci NOT NULL,
  `markdown` tinyint(1) NOT NULL DEFAULT '0',
  `published` tinyint(1) NOT NULL DEFAULT '0',
  `views` int(10) UNSIGNED NOT NULL DEFAULT '0',
  `user_id` bigint(20) UNSIGNED NOT NULL,
  `published_at` datetime …
Run Code Online (Sandbox Code Playgroud)

mysql datetime

1
推荐指数
1
解决办法
4061
查看次数

如何在 Laravel 中覆盖身份验证登录功能

我需要覆盖 laravel 的默认登录功能,但是我对我在那里找到的代码感到困惑。我不明白 laravel AuthenticatesUsers.php 如何验证用户是否存在于 db 中,然后对用户进行身份验证。

我在AuthenticatesUsers.php 中使用了这个函数

/**
 * Attempt to log the user into the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return bool
 */
protected function attemptLogin(Request $request)
{
    return $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );
}
Run Code Online (Sandbox Code Playgroud)

我想我需要在 auth/LoginController.php 中覆盖这个函数

但我不明白它是如何工作的。在哪里guard()attempt()实施,我想真正的行动发生在那里。我需要为登录添加另一个条件。

有人了解laravel的默认登录是如何工作的吗?和这两个功能guard()attempt(),例如尝试在 AuthenticatesUsers.php 本身内部没有实现,我相信它的这个函数我应该真正覆盖。

我在哪里可以找到它的实现?

php laravel laravel-5

1
推荐指数
1
解决办法
8867
查看次数

我如何在流明路线上放置中间件

我需要在流明项目中使用中间件。到目前为止,我一直在与Laravel合作,但是现在我正在使用流明的项目中。

此处的文档:https : //lumen.laravel.com/docs/5.4/middleware

给我们

$app->get('admin/profile', ['middleware' => 'auth', function () {
    //
}]);
Run Code Online (Sandbox Code Playgroud)

而我的路线看起来像这样

$app->get('/', 'UsersController@all');
Run Code Online (Sandbox Code Playgroud)

我已经试过了:

$app->get('/', ['middleware' => 'haspermission:backend-users-list'], 'UsersController@all');
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

如果我没有在路由中直接使用函数返回一些数据,正确的方法是什么?

laravel laravel-5 lumen

1
推荐指数
1
解决办法
1581
查看次数