【问题标题】:File existence check not working with is_uploaded_file and file_exists() function文件存在检查不适用于 is_uploaded_file 和 file_exists() 函数
【发布时间】:2018-08-24 15:53:53
【问题描述】:

我正在尝试创建一个帖子系统,如果用户只写文本而不上传图像,则不应出现空白图像错误(提交后应仅出现纯文本)。

所以我必须检查图像是否上传。

下面的代码只发布文本。

   while ($row = mysqli_fetch_array($result)) {

    if (($_FILES['image1']['tmp_name'])==1){
    echo "<br>";
    echo "<div class='postuser'>";

    echo "<div id='img_div1' class='caption'>";
    echo "<p>".$row['image_text1']."</p>";
    echo "<img src='images/".$row['image1']."' width='288px'>";
    echo "</div>";

    echo "</div>";
    }

    else
    {
    echo "<br>";
    echo "<div class='postuser'>";

    echo "<div id='img_div1' class='caption'>";
    echo "<p>".$row['image_text1']."</p>";
    echo "</div>";

    echo "</div>";
    }
}

PS:我已经将 file_exists() 函数和 is_uploaded_file() 函数与 $_FILES['image1']['tmp_name'] 和 $_FILES['image1']['name' 一起使用],尝试了许多其他方法,但无济于事。

希望这次没有人结束这个问题,拜托。

【问题讨论】:

  • “希望这次没有人结束这个问题,拜托。” - 那么必须先把工作做得更好,而不仅仅是给我们再次 1:1 相同的问题。
  • 这段代码甚至应该做什么,为什么要在循环数据库结果的while循环中检查$_FILES?您是否可能实际上并未处理此处的文件上传,而是试图从数据库中输出先前输入的数据?好吧,$_FILES 在其中没有任何作用
  • 对不起@CBroe,我是这门语言的新手,我可能没有你那么有经验。但我认为这个问题不是其他问题的精确复制品。感谢您抽出时间。 :)
  • 这将是重复的,如果您实际上是在尝试处理与当前请求一起上传的文件 - 如何检查用户是否发送了文件,以及是否有任何错误,是什么您可以阅读这些副本。但是您的问题似乎有些不同,您似乎处于输出先前存储的数据的阶段,而 $_FILES 根本没有在其中发挥作用。

标签: php


【解决方案1】:

这段代码解决了我的问题

   while ($row = mysqli_fetch_array($result)) {
    echo "<br>";
    echo "<div class='postuser'>";
    echo "<div id='img_div1' class='caption'>";
    echo "<p>".$row['image_text1']."</p>";
    if(!empty($row['image1']))
    {
    echo "<img src='images/".$row['image1']."' width='288px' height='250px' class='postedimg'  >";
    }

    else
    {
        echo "";
    }
  echo "</div>";
   echo "<p>".$row['sr']."</p>";

   echo "</div>";
}
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2014-03-14
    • 1970-01-01
    • 2015-03-08
    • 2011-07-09
    相关资源
    最近更新 更多