Laravel/PHP-将Youtube视频嵌入到图像数组中

Laravel/PHP-将Youtube视频嵌入到图像数组中,php,laravel,youtube,Php,Laravel,Youtube,我对PHP和Laravel非常陌生,我有一个在页面主体上显示图像的登录页面 我的客户想添加一个Youtube视频,而不是其中的一个图像,我不太确定怎么做 我尝试在foreach循环中添加一个if语句,其中包含一个$counter,当$counter等于$I时,它将显示嵌入的代码,但我要么做得不对,要么就是不知道如何正确执行,因为身体中没有显示任何内容,视频和图像都没有 非常感谢您的帮助,谢谢 代码如下: page.php: public function index($path = "") {

我对PHP和Laravel非常陌生,我有一个在页面主体上显示图像的登录页面

我的客户想添加一个Youtube视频,而不是其中的一个图像,我不太确定怎么做

我尝试在foreach循环中添加一个if语句,其中包含一个$counter,当$counter等于$I时,它将显示嵌入的代码,但我要么做得不对,要么就是不知道如何正确执行,因为身体中没有显示任何内容,视频和图像都没有

非常感谢您的帮助,谢谢

代码如下:

page.php:

public function index($path = "")
{

    $data = $this->data;

        $images = [
            "images/portraits/1.jpg",
            "images/portraits/2.jpg",
            "images/portraits/3.jpg",
            "images/portraits/4.jpg"
        ];

    $data['images'] = $images;
    $counter = 0;
    $data['counter'] = $counter;
    return view($this->folderPath."main",$data);
}
public function index($path = "")
{

    $data = $this->data;

        $images = [
            ["type" => "image", "file" => "images/portraits/1.jpg"],
            ["type" => "image", "file" => "images/portraits/2.jpg"],
            ["type" => "image", "file" => "images/portraits/3.jpg"],
            ["type" => "video", "file" => "https://www.youtube.com/embed/tgbNymZ7vqY"]
        ];

    $data['images'] = $images;
    return view($this->folderPath."main",$data);
}
main.blade.php :

    @foreach($images as $i)
        <div class="cbp-item">
            <a href="{{$i['file']}}" class="cbp-caption cbp-lightbox">
                <div class="cbp-caption-defaultWrap">
                    @if($i['type'] == 'image')
                      <img src="{{str_replace(".jpeg","_mini.jpeg",str_replace(".jpg","_mini.jpg",$i['file']))}}" alt="">
                    @else
                      <iframe width="420" height="315"
src="{{ $i['file'] }}">
</iframe>
                    @endif
                </div>
                <div class="cbp-caption-activeWrap cbp-gray">
                    <div class="cbp-l-caption-alignCenter">
                        <div class="cbp-l-caption-body">
                            <i class="fa fa-expand enlarge-icon"></i>
                        </div>
                    </div>
                </div>
            </a>
        </div>
    @endforeach
main.blade.php:

    @foreach($images as $i)
       <?php if ($counter == 2)?>
         <?php if ($counter == 2) ?>
            <iframe
             width="560" height="315" 
            src="https://www.youtube.com/embed/VIDEOID? 
            rel=0&amp;controls=0" 
            frameborder="0" allow="autoplay; encrypted-media" 
            allowfullscreen>
            </iframe>
        <div class="cbp-item">
            <a href="{{$i}}" class="cbp-caption cbp-lightbox">
                <div class="cbp-caption-defaultWrap">
                    <img src="{{str_replace(".jpeg","_mini.jpeg",str_replace(".jpg","_mini.jpg",$i))}}" alt="">
                </div>
                <div class="cbp-caption-activeWrap cbp-gray">
                    <div class="cbp-l-caption-alignCenter">
                        <div class="cbp-l-caption-body">
                            <i class="fa fa-expand enlarge-icon"></i>
                        </div>
                    </div>
                </div>
            </a>
        </div>
    @endforeach
@foreach($i图像)
@endforeach

您可以根据自己的要求执行类似的操作

page.php:

public function index($path = "")
{

    $data = $this->data;

        $images = [
            "images/portraits/1.jpg",
            "images/portraits/2.jpg",
            "images/portraits/3.jpg",
            "images/portraits/4.jpg"
        ];

    $data['images'] = $images;
    $counter = 0;
    $data['counter'] = $counter;
    return view($this->folderPath."main",$data);
}
public function index($path = "")
{

    $data = $this->data;

        $images = [
            ["type" => "image", "file" => "images/portraits/1.jpg"],
            ["type" => "image", "file" => "images/portraits/2.jpg"],
            ["type" => "image", "file" => "images/portraits/3.jpg"],
            ["type" => "video", "file" => "https://www.youtube.com/embed/tgbNymZ7vqY"]
        ];

    $data['images'] = $images;
    return view($this->folderPath."main",$data);
}
main.blade.php :

    @foreach($images as $i)
        <div class="cbp-item">
            <a href="{{$i['file']}}" class="cbp-caption cbp-lightbox">
                <div class="cbp-caption-defaultWrap">
                    @if($i['type'] == 'image')
                      <img src="{{str_replace(".jpeg","_mini.jpeg",str_replace(".jpg","_mini.jpg",$i['file']))}}" alt="">
                    @else
                      <iframe width="420" height="315"
src="{{ $i['file'] }}">
</iframe>
                    @endif
                </div>
                <div class="cbp-caption-activeWrap cbp-gray">
                    <div class="cbp-l-caption-alignCenter">
                        <div class="cbp-l-caption-body">
                            <i class="fa fa-expand enlarge-icon"></i>
                        </div>
                    </div>
                </div>
            </a>
        </div>
    @endforeach
公共功能索引($path=”“)
{
$data=$this->data;
$images=[
[“键入”=>“图像”,“文件”=>“图像/肖像/1.jpg”],
[“键入”=>“图像”,“文件”=>“图像/肖像/2.jpg”],
[“键入”=>“图像”,“文件”=>“图像/肖像/3.jpg”],
[“输入”=>“视频”,“文件”=>”https://www.youtube.com/embed/tgbNymZ7vqY"]
];
$data['images']=$images;
返回视图($this->folderPath.main,$data);
}
main.blade.php:
@foreach($i形式的图像)
@endforeach

您可以根据自己的要求执行类似的操作

page.php:

public function index($path = "")
{

    $data = $this->data;

        $images = [
            "images/portraits/1.jpg",
            "images/portraits/2.jpg",
            "images/portraits/3.jpg",
            "images/portraits/4.jpg"
        ];

    $data['images'] = $images;
    $counter = 0;
    $data['counter'] = $counter;
    return view($this->folderPath."main",$data);
}
public function index($path = "")
{

    $data = $this->data;

        $images = [
            ["type" => "image", "file" => "images/portraits/1.jpg"],
            ["type" => "image", "file" => "images/portraits/2.jpg"],
            ["type" => "image", "file" => "images/portraits/3.jpg"],
            ["type" => "video", "file" => "https://www.youtube.com/embed/tgbNymZ7vqY"]
        ];

    $data['images'] = $images;
    return view($this->folderPath."main",$data);
}
main.blade.php :

    @foreach($images as $i)
        <div class="cbp-item">
            <a href="{{$i['file']}}" class="cbp-caption cbp-lightbox">
                <div class="cbp-caption-defaultWrap">
                    @if($i['type'] == 'image')
                      <img src="{{str_replace(".jpeg","_mini.jpeg",str_replace(".jpg","_mini.jpg",$i['file']))}}" alt="">
                    @else
                      <iframe width="420" height="315"
src="{{ $i['file'] }}">
</iframe>
                    @endif
                </div>
                <div class="cbp-caption-activeWrap cbp-gray">
                    <div class="cbp-l-caption-alignCenter">
                        <div class="cbp-l-caption-body">
                            <i class="fa fa-expand enlarge-icon"></i>
                        </div>
                    </div>
                </div>
            </a>
        </div>
    @endforeach
公共功能索引($path=”“)
{
$data=$this->data;
$images=[
[“键入”=>“图像”,“文件”=>“图像/肖像/1.jpg”],
[“键入”=>“图像”,“文件”=>“图像/肖像/2.jpg”],
[“键入”=>“图像”,“文件”=>“图像/肖像/3.jpg”],
[“输入”=>“视频”,“文件”=>”https://www.youtube.com/embed/tgbNymZ7vqY"]
];
$data['images']=$images;
返回视图($this->folderPath.main,$data);
}
main.blade.php:
@foreach($i形式的图像)
@endforeach

到目前为止您尝试了什么?您遇到的实际问题是什么?另外,看看@SérgioReis,我尝试在foreach循环中添加一个if语句,其中包含一个$counter,当$counter等于$I时,它将显示嵌入的代码,但我不是做错了,就是不知道如何正确地执行,因为主体中没有显示任何内容,不是视频,也不是图像。检查@Nirali answer到目前为止你都尝试了什么?您遇到的实际问题是什么?另外,看看@SérgioReis,我尝试在foreach循环中添加一个if语句,其中包含一个$counter,当$counter等于$I时,它将显示嵌入的代码,但我不是做错了,就是不知道如何正确地执行,因为主体中没有显示任何内容,不是视频也不是图像..check@Nirali answerI喜欢这个想法,但我得到了“htmlspecialchars()期望参数1是字符串,数组给定的(视图:C:\Project\resources\views\clients\main.blade.php”你能找到你得到错误的确切位置吗?我想问题在于你的另一个视图元素,因为上面给定的刀片文件和控制器对我来说没有任何语法错误。还有一件事你可以传递视图文件名,比如返回视图(“clients.main”,$data);而不是返回视图($this->folderPath。“main”,$data);显然是这样的:我喜欢这个想法,但我得到了“htmlspecialchars()期望参数1是字符串,数组给定的(视图:C:\Project\resources\views\Client\main.blade.php”你能找到你得到错误的确切位置吗?我想问题在于你的另一个视图元素,因为上面给定的刀片文件和控制器对我来说没有任何语法错误。还有一件事你可以传递视图文件名,比如返回视图(“clients.main”,$data);而不是返回视图($this->folderPath。“main”,$data);显然是这一行: