Как заставить PHP перейти от слайд-шоу к видеоплееру с нумерацией страниц - PullRequest
0 голосов
/ 26 октября 2011

Я совершенно новичок в создании динамических страниц - поэтому на данный момент я использую txt-файлы для управления моими простыми данными!Я объясню мои настройки в первую очередь.У меня есть одна страница php - она ​​получает данные из двух файлов .txt:

brief.txt: written content (title and supporting text) 

photos.txt: image file names.

Я использую разбиение на страницы php, и это меняет содержимое страницы php, ссылаясь на числа, которые я использовал в.TXT-файл, вот код, который я использую:

<?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-адрес моего видео, помещенного в текстовый файл.файл.Код, который я использую в данный момент для слайд-шоу 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 ...

Пожалуйста, кто-нибудь может мне помочьс необходимым кодом мне нужно было бы сделать эту работу!Я очень начинающий кодер: (

Ответы [ 2 ]

1 голос
/ 26 октября 2011

По сути, вам нужно просто проверить, является ли текущий файл изображением или видео. Самый простой способ - посмотреть на расширение. Ваши видео также хранятся в 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
    }
?>
1 голос
/ 26 октября 2011

Редактировать: Предполагая, что я понимаю структуру вашей логики, и, возможно, я что-то упустил:

Возможно, вы используете видео.txt для хранения видео, в отличие от размещения обоих внутри photos.txt? Также рассмотрите использование базы данных MySQL для этого.

И если вам абсолютно необходимо использовать этот способ кодирования, я бы создал функцию, которая принимает имя файла и в зависимости от расширения определяет, является ли это видео или изображением, таким образом диктуя, какой контент загружать и как ,

Или вы можете добавить дополнительный флажок в ваш файл photos.txt:

1|blah|1
2|blahblah|0

Где третий «1» означает видео, а «0» означает фото? Это ваши метаданные, поэтому вы можете определять их структуру.

...