Php图像显示问题

时间:2012-02-12 06:08:48

标签: php mysql

我很困惑!基本上我有一个3字段ex的表单:主题,图像,消息。 所以

(1)如果我上传图片,则应该是show image,
(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。

1 个答案:

答案 0 :(得分:1)

由于您之前的else条件,您永远不会进入if声明。在所有情况下,$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>";
}