小编brn*_*nd0的帖子

Laravel 将文件从一个磁盘移动到另一个磁盘 - 使用“存储”

我的filesystems.php配置文件中定义了两个磁盘:

'd1' => [
    'driver' => 'local',
    'root' => storage_path('app/d1'),
],
'd2' => [
   'driver' => 'local',
   'root' => storage_path('app/d2'),
],
Run Code Online (Sandbox Code Playgroud)

这些磁盘也可以是 Amazon S3 存储桶,并且可以是 S3 存储桶和本地磁盘的组合。

假设我有一个文件app/d1/myfile.txt想要移动到app/d2/myfile.txt.

我现在正在做的是

$f = 'myfile.txt';
$file = Storage::disk('d1')->get($f);
Storage::disk('d2')->put($f, $file);
Run Code Online (Sandbox Code Playgroud)

并将原始文件保留在 d1 上,因为它不会打扰我(我定期从 d1 中删除文件)。

我的问题是:

下面的代码是否是原子的,我如何检查它是否是原子的,如果不是,我如何使其成为原子的(对于文件大小为 1GB 或类似大小的情况):

$f = 'myfile.txt';
$file = Storage::disk('d1')->get($f);
Storage::disk('d2')->put($f, $file);
Storage::disk('d1')->delete($f);
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以使用Storage外观将文件从一个磁盘移动到另一个磁盘。目前,我需要它从一个本地磁盘工作到另一个本地磁盘,但将来我可能需要将它们从一个 S3 存储桶移动到同一个存储桶,从一个 S3 存储桶移动到另一个 S3 存储桶,或者从本地磁盘移动到 S3 存储桶。

谢谢

atomic amazon-s3 laravel-filesystem laravel-5.6

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

使用v-if显示子div时如何避免父元素的高度跳跃

我有一个父 div 和一个子 div。子 div 通过 v-if 显示。我可以向子元素添加过渡,但是一旦过渡超过父元素的高度,它就会突然发生变化,看起来不太好。

我想要类似 jQuery 的 slideToggle() 函数的东西。

这是我的 html,我通过转换以下内容来使用淡入淡出效果opacity

  <div class="my-div">
    <p>some content</p>
    <transition name="fade" mode="out-in">
      <p key=1 v-if="show">hello</p>
    </transition>
  </div>
Run Code Online (Sandbox Code Playgroud)

这是过渡CSS:

.fade-enter-active,
.fade-leave-active {
  transition: opacity .5s
}

.fade-enter,
.fade-leave-to {
  opacity: 0
}

.my-div {
  background: lightgreen;
}

Run Code Online (Sandbox Code Playgroud)

这是我的代码的小提琴:

https://jsfiddle.net/x15Lw6a3/

我不知道如何进行高度过渡。我试过根据其他一些问题从opacitytoheight和 to切换,max-height但它只是上下颠簸。

任何想法或教程链接表示赞赏。谢谢!

css transition vue.js vue-component vuejs2

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

Laravel MIX,如何在多个文件中使用单个函数

我有三个文件:

  • my_function.js
  • 脚本_1.js
  • 脚本_2.js

my_function.js

function myFunction() {
  console.log('my function');
}
Run Code Online (Sandbox Code Playgroud)

如何在我的文件scripts_1.js和中使用此功能scripts_2.js?我将这两个用作users.js

require('scripts_1');
require('scripts_2');
Run Code Online (Sandbox Code Playgroud)

admins.js只使用一个:

require('scripts_2');
Run Code Online (Sandbox Code Playgroud)

稍后,我将和文件webpack.mix.js编译为两个单独的缩小的 js 文件。usersadmin

require('my_function')如果我只是在我的scripts_1和文件中使用,scripts_2这不起作用(可能myFunction()不在同一范围内)。

但是,如果我将函数附加到window变量,我就可以完成这项工作,这样my_function现在看起来像这样:

window.myFunction = function() { ... }
Run Code Online (Sandbox Code Playgroud)

此时,我什至不需要在任何scripts_1scripts_2文件中要求它(但我在我的users.jsadmin.js文件中要求它),但这在某种程度上感觉不对。

太棒了;

我想知道如何定义一个辅助 js 函数,我可以使用 Laravel MIX 在多个其他 js 文件中重用该函数。

javascript npm laravel laravel-mix

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