2012-02-12 88 views
0

我很困惑!基本上我有一個3領域的表單:主題,圖像,信息。 所以Php圖片顯示問題

(1)如果我上傳的圖像它的應該是展示形象,
(2)如果我不上傳圖片這是應該顯示僅僅只有主題和消息沒有圖像框
(3)如果我沒有上傳圖像,如果有消息框中的youtube鏈接,那麼它應該顯示視頻。 **

以下是我的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 2012-02-12 06:12:16

+0

@Josh,現在沒有顯示任何YouTube視頻。 – 2012-02-12 06:14:41

+0

輸出什麼?什麼?錯誤?在你的測試用例中存儲在'$ imgname'或'$ msg'中的是什麼? – Josh 2012-02-12 06:19:01

回答

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

Wee,我明白@Josh。 – 2012-02-12 06:51:05

+0

太棒了!我很樂意提供幫助。 :) – Josh 2012-02-12 06:51:45