【发布时间】:2021-07-06 05:26:36
【问题描述】:
我在上传文件时遇到问题。现在我有这样的东西(控制器的一部分):
if($request->has('photos')) {
foreach ($request->photos as $photo) {
$filename = $photo->getClientOriginalName();
$tmp_name = $filename;
if ($pos = strrpos($filename, '.')) {
$name = substr($filename, 0, $pos);
$ext = substr($filename, $pos);
} else {
$name = $filename;
}
$uniq_no = 0;
while (file_exists($filename)) {
$tmp_name = $name .'_'. $uniq_no . $ext;
$uniq_no++;
}
$photo->storeAs('public/photos/',$tmp_name);
Photo::create([
'page_id' => $page->id,
'filename' => $tmp_name
]);
}
}
但保存到数据库中不添加唯一编号:filename_0、filename_1 等。它只是保存 $tmp_name 的值。
我做错了什么?
【问题讨论】:
-
你应该只是附加时间()。无论如何,我相信你的 while 循环条件应该检查 $tmp_name。
-
那么以后如何在blade中无时间显示文件名?
-
只取最后一个
_之前的子串。 -
好的,感谢您的解决方案
标签: laravel laravel-5 file-upload request