2012-02-12 5 views
0

私は混乱しています!基本的に私は3つのフィールドex:subject、image、messageという形をしています。私は、画像をアップロードしていない場合のでは、PHPの画像ショーの問題

(1)私は画像をアップロードした場合、それはショーの画像であるべきだ、
(2)それだけでのみ対象となし画像ボックスメッセージショーをする必要があります
(3)画像をアップロードしていない場合、メッセージボックスにYouTubeのリンクがある場合は、vedioを表示する必要があります。 **

私のPHPコードですが、私は3番ポイントを解決できません! **

<?php 

if(empty($imgname)) 
{ 
echo ''; 
} 
elseif(!empty($imgname)) 
{ 

echo "<span class='vedio'>";    
echo '<img src="' . $upload_path . '/' . $imgname . '" width="195" height="130" 
style=" background-color:f2f4f6;" />'; 
    echo "</span>"; 
} 
else 
{ 
    echo "<span class='vedio'>";     
require_once("func.php"); 
if (preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/) 
    ([^"&?/ ]{11})%i', $msg, $match)) 
     { 
      // echo $video_id = $match[1]; 
     }  
     echo @get_youtube_embed($video_id = $match[1]);  
     echo "</span>"; 


} 
?> 

私にとってより良いアイデアまたは解決策。
Shibbir。

+0

番号3を実装しようとすると、どういうことが起こりますか? – Josh

+0

まあ、@ジョシュ、それはYouTubeのvedioを表示していない今。 –

+0

出力は何ですか?何か?エラー?あなたのテストケースに '$ imgname'や' $ msg'に格納されているものは何ですか? – Josh

答えて

1

あなたはあなたのために、先行するif条件のあなたのelse声明に入ることは決してないだろう。すべての場合、$imgnameは空または空ではありません。

if (empty($imgname)) { 
    // ... First condition 
} else if (!empty($imgname)) { 
    // ... Last possible condition 
} else { 
    // Will never reach here because $imgname will 
    // fall into one of the two of the above conditionals. 
} 

完全なコンテキストなしで、あなたのコードに追加することは困難だが、あなたが上記のコード(ないと)した後、次の含めることができそうです:

はさらに実証するために、

if(!empty($msg) && preg_match('%(?:youtube\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/) 
([^"&?/ ]{11})%i', $msg, $match)) { 

    require_once("func.php"); 
    echo "<span class='vedio'>"; 
    echo @get_youtube_embed($match[1]);  
    echo "</span>"; 
} 
+0

ええ、私は@ジョシュを理解しています。 –

+0

それは素晴らしいです!私は喜んでお手伝いします。 :) – Josh