2011-10-28 12 views
0

汚れたコードを投稿して申し訳ありません! (しかし、私はPHPを書くのはひどいです(学習を始めたばかりです)。もっと勉強する必要がありますが、現時点ではこのスクリプトが必要なので、私のアートワークを紹介する必要があります。それを訂正するのを助けることができますか?PHPはファイル名に応じてスライドショー/メディアプレーヤーを作成します

基本的には、.txtファイルから画像ファイル名を取得しています。 txtファイルは、次のように設定されている:| imagefilename1.jpg

2 |

1 imagefilename2.jpg

以下のコードのアイデアは、ファイルに依存する要素を変更することです。たとえば、ファイルが.movファイルの場合、ビデオプレーヤー(vimeoのビデオストリーム)が読み込まれます。画像ファイルの場合は、スライドショーが表示されます。

<?php 

$photos=file("photos.txt"); 
$img = array('jpg', 'png', 'gif'); 
$vid = array('swf', 'mp4', 'mov', 'mpg', 'flv'); 
foreach($photos as $image){ 
$item=explode("|",$image); 

$ext = explode(".", $image); 
if(in_array($ext[1], $img)) 
{'<div id='thejqueryslider'><div class='slider'><img src='images/work/$photo' alt='' /> </div></div>'} 
elseif(in_array($ext[1], $vid)) 
{'<iframe src='$photo' width='800' height='450' frameborder='0' webkitAllowFullScreen allowFullScreen></iframe>'} 

?> 

答えて

1

1つの明らかな誤りは、あなたが出力のものにしたいecho文を追加することを忘れてしまったです。また、出力しているHTMLのまわりに単一のものの代わりに二重引用符を使用する必要があります。そうでなければ、その内部の一重引用符で文字列を終了し、構文エラーを引き起こします。エコーステートメントの末尾にセミコロンとコードする必要があります完了します。

if(in_array($ext[1], $img)) 
{ echo "<div id='thejqueryslider'><div class='slider'><img src='images/work/$photo' alt='' /> </div></div>"; } 
elseif(in_array($ext[1], $vid)) 
{ echo "<iframe src='$photo' width='800' height='450' frameborder='0' webkitAllowFullScreen allowFullScreen></iframe>"; } 

EDIT:あなたはまた、比類のない中括弧がforeach後に開かれている、あなたはおそらくecho文の後にそれを閉じたいと思うでしょう。

他の編集:変数$photoは定義されていません。あなたは$item[1]を意味しましたか?

+0

助けてくれてありがとう!残念ながら、私はコードで$ photoを一切定義していないので($ photoは私の以前のスクリプトの作業スライドショーからのものです)、うまくいきません... – Jess

関連する問題