gpt4 book ai didi

php - Laravel 5.3 Storage::put 使用文件名创建一个目录

转载 作者:IT王子 更新时间:2023-10-29 00:21:05 25 4
gpt4 key购买 nike

我正在使用 Laravel 的文件存储功能来保存文件:

public function dataPost(Request $request) {

$fileInForm = 'doc';

if ($request->hasFile($fileInForm)) {

$file = $request->file($fileInForm);
if ($file->isValid()) {

// Filename is hashed filename + part of timestamp
$hashedName = hash_file('md5', $file->path());
$timestamp = microtime() * 1000000;

$newFilename = $hashedName . $timestamp . '.' . $file->getClientOriginalExtension();

Storage::disk('local')->put($newFilename, $file);
}
}
}

这确实保存了文件,但是保存在与文件同名的目录中,例如:

storage/app/952d6c009.jpg/952d6c009.jpg

storage/app/234234234.jpg/234234234.jpg

这是预期的吗?有什么方法可以只存储文件而无需为每个文件创建单独的目录?

谢谢!

最佳答案

你需要在第二个参数而不是文件对象中提供文件内容,试试这个:

Storage::disk('local')->put($newFilename, file_get_contents($file));

关于php - Laravel 5.3 Storage::put 使用文件名创建一个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40002275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com