使用 Laravel 将文件上传移动到特定文件夹
Moving file uploads to specific folder with Laravel
我在将上传的图片移动到正确的文件夹时遇到问题。当我上传它们时,它们只是转储到主 img 文件夹中,而不是转到特定的子文件夹中。
这是我的代码:
$rental = new Rental;
$rental->title = $request->title;
$rental->name = $request->name;
$rental->description = $request->description;
if ($request->hasFile('image')) {
$image = $request->file('image');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('img/rentals' . $filename);
Image::make($image)->save($path);
$rental->image = $filename;
}
$rental->save();
您的 $path
中缺少一个 /
。下面一行...
$filename = time() . '.' . $image->getClientOriginalExtension();
将生成一个字符串,类似于 123456789.jpg
。然后在下一行你正在做...
$path = public_path('img/rentals' . $filename);
将 img/rentals
和 123456789.jpg
连接在一起,得到 img/rentals123456789.jpg
。请注意 .
连接两个字符串。然后将生成的字符串传递给 public_path
,它将引用 public 目录中名为 img
的文件夹和文件名 rentals123456789.jpg
.
要解决您的问题,您只需在中间插入一个正斜杠:
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('img/rentals/' . $filename);
这将在您的 public 路径和文件名 123456789.jpg
.
中生成一个文件夹 img/rentals
我在将上传的图片移动到正确的文件夹时遇到问题。当我上传它们时,它们只是转储到主 img 文件夹中,而不是转到特定的子文件夹中。
这是我的代码:
$rental = new Rental;
$rental->title = $request->title;
$rental->name = $request->name;
$rental->description = $request->description;
if ($request->hasFile('image')) {
$image = $request->file('image');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('img/rentals' . $filename);
Image::make($image)->save($path);
$rental->image = $filename;
}
$rental->save();
您的 $path
中缺少一个 /
。下面一行...
$filename = time() . '.' . $image->getClientOriginalExtension();
将生成一个字符串,类似于 123456789.jpg
。然后在下一行你正在做...
$path = public_path('img/rentals' . $filename);
将 img/rentals
和 123456789.jpg
连接在一起,得到 img/rentals123456789.jpg
。请注意 .
连接两个字符串。然后将生成的字符串传递给 public_path
,它将引用 public 目录中名为 img
的文件夹和文件名 rentals123456789.jpg
.
要解决您的问题,您只需在中间插入一个正斜杠:
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('img/rentals/' . $filename);
这将在您的 public 路径和文件名 123456789.jpg
.
img/rentals