如何使PHP从幻灯片变成带分页的视频播放器


How to make PHP change from slideshow to video player with pagination

我对创建动态页面完全陌生-所以目前,我使用txt文件来管理我的简单数据!我先解释一下我的设置。我有一个php页面-它从两个。txt文件获取数据:

brief.txt: written content (title and supporting text) 
photos.txt: image file names.

我正在使用php分页,这通过引用我在.txt文件中使用的数字来更改php页面中的内容,以下是我使用的代码:

<?php
$data=file("brief.txt");
$pages=0;
foreach($data as $temp){
$x=explode("|",$temp);
if($x[0]>0){
$pages=$pages+1;
}
}
if($_GET['p']){
$page=$_GET['p'];
}
if($_GET['i']){
$index=$_GET['i'];
}
if($index == "p"){
$page=$page-1;
}
if($index == "n"){
$page=$page+1;
}
if($page < 1){
$page=1;
}
if($page > $pages){
$page=$pages;
} 
$line=$data[$page-1];
$fields=explode("|",$line);
?>

这是我的文本文件

的一个例子
 brief.txt:
1|TITLE 1|Content goes here
2|TITLE 2|Content goes here
 photos.txt: 
1|imageone1.jpg
2|imagetwo1.jpg

希望这一切都有意义!现在,我的问题是,我有一些视频文件。目前,图像以jquery幻灯片的形式加载。我想以某种方式有脚本的变化,例如,当它使第3页与视频文件它不创建幻灯片,而是创建一个视频播放器,可以加载我的视频的url放在txt文件中。我现在使用的jquery幻灯片代码是这样的:

 <?php
echo"
<div id='portfolioslider'><div class='slider'>";
$photos=file("photos.txt");
foreach($photos as $image){
$item=explode("|",$image);
if($item[0]==$fields[0]){
$photo=trim($item[1]);
echo"<div><img src='images/work/$photo' alt='' /></div>'n";
}
}
echo"</div></div>"?>

我希望上面的代码,改变类似于这样,当你去一个有视频的页面:

<iframe src="http://player.vimeo.com/video/23024550?title=0&amp;byline=0&amp;portrait=0"         width="1024" height="576" frameborder="0" webkitAllowFullScreen allowFullScreen></iframe>

如果你返回或跳转到一个没有视频的页面,我希望它能变回原来的jquery幻灯片…

请有人帮助我与必要的代码,我需要使这个工作!我是一个非常初级的程序员:(

编辑:假设我理解你的逻辑结构,我可能遗漏了一些东西:

也许,使用video .txt来存储视频,而不是将两者都放在photos.txt中?另外,请考虑使用MySQL数据库。

如果您绝对必须使用这种编码方式,我会创建一个接受文件名的函数,并根据扩展名确定它是视频还是图像,从而决定加载什么内容,以及如何加载。

或者,您可以在photos.txt文件中添加一个额外的标志:

1|blah|1
2|blahblah|0

第三个"1"表示视频,"0"表示照片?这是你的元数据,所以你可以决定它的结构。

基本上你需要做的就是检查当前文件是图片还是视频。最简单的方法是查看扩展。你的视频也存储在photos。txt里,对吧?试试这样做:

<?php
    $photos=file("photos.txt");
    // since you already know the page number, you can just skip to that index instead of looping through the entire file
    $item = explode("|",$photos[$page-1]);
    $photo = trim($item[1]);
    //lets see if it's a photo or a video
    if(substr($photo,-3) == 'jpg') {
        //echo out code for images here
    } else {
        //echo out code for video here
    }
?>