首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel 5.6上的路径中找不到文件

在laravel 5.6上的路径中找不到文件
EN

Stack Overflow用户
提问于 2018-03-09 15:19:41
回答 2查看 1.6K关注 0票数 1

我使用的是laravel 5.6,我将尝试使用laravel-ffmpeg实现多个上传视频的函数,并使用laravel-ffmpeg获取帧和持续时间,但当我尝试上传一个视频时,总是显示错误,如"File not found at path:",

这是我的函数,用于存储视频并获取持续时间和帧:

代码语言:javascript
复制
public function doCreate($lessonsid)
  {
      if (empty(Session::get('contribID'))) {
        return redirect('contributor/login');
      }
    # code...
    // validate
    // read more on validation at http://laravel.com/docs/validation
    $rules = array(
      'judul'          => 'required',
    //   'video.*'  => 'mimes:mp4,mov,ogg,webm |required|max:100000',
    //   'image.*' => 'mimes:jpeg,jpg,png,gif|required|max:30000'
    );
    $validator = Validator::make(Input::all(), $rules);

    // process the login
    if ($validator->fails()) {
        return redirect()->back()->withErrors($validator)->withInput();
    } else {

        $now          = new DateTime();
        $cid          = Session::get('contribID');
        $title        = Input::get('judul');
        $image_video = Input::file('image');
        $lessons_video = Input::file('video');
        // dd($lessons_video);
        // $media = FFMpeg::open('https:/dev.cilsy.id/assets/source/lessons/lessons-74/video-8/1. Introduction (2).mp4');
        // $frame = $media->getFrameFromString('00:00:13.37');
        // dd($media);    
        $description  = Input::get('desc');

        $video=Video::where('lessons_id',$lessonsid)->get();
        $count_video=count($video);


        if (!is_dir("assets/source/lessons/lessons-$lessonsid")) {
                $newforder=mkdir("assets/source/lessons/lessons-".$lessonsid);
        }

        $i=$count_video + 1;
        foreach ($title as $key => $titles) {
                $type_video =$lessons_video[$key]->getMimeType();

                if (!is_dir("assets/source/lessons/lessons-".$lessonsid."/video-".$i)) {
                        $newforder=mkdir("assets/source/lessons/lessons-".$lessonsid."/video-".$i);
                }
                $DestinationPath= 'assets/source/lessons/lessons-'.$lessonsid.'/video-'.$i;
                //insert image
                if(!empty($image_video[$key])){
                    $imagefilename    = $image_video[$key]->getClientOriginalName();
                    $image_video[$key]->move($DestinationPath, $imagefilename);
                }else{
                    $imagefilename    = '';
                }
                if($imagefilename ==''){
                    $url_image= $imagefilename;
                }else{
                    $urls=url('');
                    $url_image= $urls.'/assets/source/lessons/video-'.$i.'/'.$imagefilename;
                }

                //insert video
                if(!empty($lessons_video[$key])){
                    $lessonsfilename    = $lessons_video[$key]->getClientOriginalName();
                    $lessons_video[$key]->storeAs($DestinationPath, $lessonsfilename);
                }else{
                    $lessonsfilename    = '';
                }
                if($lessonsfilename ==''){
                    $url_video= $lessonsfilename;
                }else{
                    $urls=url('');
                    $url_video= $urls.'/assets/source/lessons/video-'.$i.'/'.$lessonsfilename;
                }




                $store                  = new Video;
                $store->lessons_id      = $lessonsid;
                $store->title           = $titles;
                $store->image           = $url_image;
                $store->video           = $url_video;
                $store->description     = $description[$key];
                $store->type_video      = $type_video;
                $store->durasi          = 0;
                $store->created_at      = $now;
                $store->enable=1;
                $store->save();
                if($store){
                    $media = FFMpeg::open($url_video);
                    // $frame = FFMpeg::open($link)
                    //         ->getFrameFromSeconds(10)
                    //         ->export()
                    //         ->toDisk('public')
                    //         ->save($filename.'.png');
                    dd($media);
                    $durationInSeconds = $media->getDurationInSeconds();
                    // dd($media);


                }
        $i++;
        }

        // Session::set('lessons_title',$title);
        // Session::set('lessons_category_id',$category_id);
        // Session::set('lessons_image',$image);
        // Session::set('lessons_description',$description);

        return redirect('contributor/lessons/'.$lessonsid.'/view')->with('success','Penambahan video berhasil');

    }
  }

这是错误消息,当我尝试上传我的视频时

有人能帮我吗?

EN

回答 2

Stack Overflow用户

发布于 2018-03-09 15:32:19

尝试使用public_path()

代码语言:javascript
复制
$DestinationPath= public_path().'/'.'assets/source/lessons/lessons-'.$lessonsid.'/video-'.$i;
票数 0
EN

Stack Overflow用户

发布于 2018-03-09 15:35:49

您的文件没有保存,您应该使用public_path帮助器来存储和检索文件。

代码语言:javascript
复制
$image_video[$key]->move(public_path('lessons/lessons-'.$lessonsid.'/video-'.$i), $imagefilename);

也可以将它们存储到存储文件夹中

代码语言:javascript
复制
$image_video[$key]->move(storage_path('lessons/lessons-'.$lessonsid.'/video-'.$i), $imagefilename);

您可以使用这些帮助器检索back文件。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49188496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档