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