如何检测用户是否在PHP中上传文件?

时间:2018-03-11 18:01:54

标签: php mysql

我正在尝试创建一个帖子系统,如果用户只写入文字并且没有上传图像,则不应出现错误图像(提交后只显示纯文本)。

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

以下代码执行仅发布文本的工作。

   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:我在$ _FILES [&#39; image1&#39;] [&#39; tmp_name&#39;]和$中使用了file_exists()函数和is_uploaded_file()函数_FILES [&#39; image1&#39;] [&#39; name&#39;],尝试了很多其他方法,但没有任何帮助。

希望这次没有人关闭这个问题。

1 个答案:

答案 0 :(得分:0)

<?php
while ($row = mysqli_fetch_array($result)) {
if (is_uploaded_file($_FILES['image1']['tmp_name'])) {
    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>";
    }
}
?>