Php图像显示问题

Php图像显示问题,php,mysql,Php,Mysql,我糊涂了!基本上我有一个有3个字段的表单,例如:主题、图像、消息所以 (1)如果我上传图像,它应该是show image, (2)如果我不上传图像,它应该只显示主题而不显示消息,没有图像框和 (3)如果我不上传图像,并且如果消息框中有youtube链接,则应该显示视频** 下面是我的php代码,但我无法解决第3点** <?php if(empty($imgname)) { echo ''; } elseif(!empty($imgname)) { echo "<span cla

我糊涂了!基本上我有一个有3个字段的表单,例如:主题、图像、消息所以

(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.

由于前面的
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)){
需要_一次(“func.php”);
回声“;
echo@get_youtube_embed($match[1]);
回声“;
}

那么..当您尝试实现数字3时,会发生什么情况?嗯@Josh,它现在没有显示任何youtube视频。输出了什么?有什么?错误吗?在您的测试用例中,
$imgname
$msg
中存储了什么?@Josh请查看,然后您可以理解我告诉您的是什么,然后您可以看到youtube的第3页k(主题:3d蜘蛛侠)但它没有显示任何youtube视频…太棒了!我很乐意帮忙。:)
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>";
}