php 图片显示问题

标签 php mysql

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

(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>";


}
?>

任何对我来说更好的想法或解决方案。
希比尔。

最佳答案

由于前面的 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>";
}

关于php 图片显示问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246855/

相关文章:

php - MySQL 使用 GROUP BY 查询太慢

php - Laravel 5.1 登录文件权限

php - 在 WooCommerce 帐户激活邮件中访问用户的名字(DOI 通过 WooCommerce Germanized)

php - MySQL查询无法处理变量

mysql - SQL 分组 : conditional select in each group

php - linux下配置PHP与mysql连接

php - 登录问题 - 使用 mysql 中的散列密码检查输入密码?

mysql。我想替换列中某些值的名称

php - mysql查找包含大量数据的一行数据

java - 插入从使用 JDBC 中的 POJO 解析的 JSON 检索的多个记录