Php laravel:如何输出视频文件的文件路径
当我通过表单上传一些视频时,它将我的视频保存在公用文件夹中,但在Php laravel:如何输出视频文件的文件路径,php,laravel-5.1,laravel-views,Php,Laravel 5.1,Laravel Views,当我通过表单上传一些视频时,它将我的视频保存在公用文件夹中,但在视图中我无法访问它们 我的视图(旋转以输出文件路径) 它应该位于不同的路径(我的项目路径) 在本地计算机上的视频文件夹中,我可以看到视频已上载 Mycontroller.php public function store(Request $request) { // Validation // $validation = Validator::make($request->all(),
视图中
我无法访问它们
我的视图(旋转以输出文件路径)
它应该位于不同的路径(我的项目路径)
在本地计算机上的视频文件夹中,我可以看到视频已上载
Mycontroller.php
public function store(Request $request)
{
// Validation //
$validation = Validator::make($request->all(), [
'about_me' => 'required',
'video_ogg' => 'required|mimes:mp4,ogx,oga,ogv,ogg,webm|min:1|max:3240',
'video_mp4' => 'required|mimes:mp4,mov,ogg,qt,webm|min:1|max:3240'
]);
// Check if it fails //
if( $validation->fails() ){
return redirect()->back()->withInput()
->with('errors', $validation->errors() );
}
$profile = new Profile;
// upload the media //
$file = $request->file('video_ogg');
$destination_path = 'videos/';
$filename = str_random(6).'_'.$file->getClientOriginalName();
$file->move($destination_path, $filename);
// upload the media //
$file = $request->file('video_mp4');
$destination_path = 'videos/';
$filename = str_random(6).'_'.$file->getClientOriginalName();
$file->move($destination_path, $filename);
// save media data into database //
$profile->about_me = $request->input('about_me');
$profile->video_mp4 = $request->file('video_mp4');
$profile->video_ogg = $request->file('video_ogg');
$profile->save();
return redirect('/profile')->with('message','You just created your profile!');
}
文件权限(在Windows powershell上)
那么如何才能在视图中找到正确的路径呢
因为它应该是:videos/QvWjJ2_mov_bbb.mp4
和videos/muWzE9_mov_bbb.ogg
试试这样:
<td>{{ url('/') }}{{ YOUR_FILE_PATH_AFTER_PUBLIC }}</td>
<td>{{ url('/') }}{{ YOUR_FILE_PATH_AFTER_PUBLIC }}</td>
视图中:
$path = '/videos/muWzE9_mov_bbb.ogg';
$path1 = '/videos/QvWjJ2_mov_bbb.mp4';
return view('VIEW_PATH',compact('path','path1'));
<td>{{ url('/') }}{{ $path }}</td>
<td>{{ url('/') }}{{ $path1 }}</td>
{{url('/')}{{{$path}
{{url('/')}{{{$path1}}
首先,在保存上载的文件时,会在文件名中添加一个随机字符串。您似乎没有将此随机文件名保存到任何位置,因此以后很难找到这些文件。您可能希望将这些文件名添加到保存在数据库中的概要文件对象中
之后,控制器可以构建URL
$ogg_path = 'videos/' . $profile->ogg_filename;
$mp4_path = 'videos/' . $profile->mp4_filename;
然后在视图中
{{ url($ogg_path) }}
{{ url($mp4_path) }}
视图的$media对象从何而来?hi@ChrisBaldwin此变量的名称错误:(我的坏!…但是在视图上我有一个@foreach($profiles as$media)
,这就是为什么我在视图上有$media
,在我的索引控制器上我有这个返回视图('profiles.profiles list')->('profiles',$profiles);
我将更改$profile的变量名
$ogg_path = 'videos/' . $profile->ogg_filename;
$mp4_path = 'videos/' . $profile->mp4_filename;
{{ url($ogg_path) }}
{{ url($mp4_path) }}