个人资料图片仅显示内部带有“X”的黑匣子

时间:2017-07-25 10:59:09

标签: php

我正在尝试设置一个用户可以上传个人资料图片的个人资料页面。我遇到的问题是当状态从1变为0时,图像从默认的配置文件图像变为带有“x”的小黑盒子。其他一切都很好。我认为它可能是css,但事实并非如此。如果有人可以提供帮助,我们将不胜感激。谢谢。

Profile.php:

<?php
    $id= $_GET['id'];
    $sql = "SELECT * FROM user WHERE id='$id'";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
        $sqlImg = "SELECT * FROM profileImg WHERE id='$id'";
        $resultImg = mysqli_query($conn, $sqlImg);
        while ($rowImg = mysqli_fetch_assoc($resultImg)) {
            echo "<div class='userProfileImage'>";
                if ($rowImg['status'] == 0 ) {
                    echo "<img src='images/profile".$id.".jpg'>";
                } else {
                    echo "<img src='images/profile_default.jpg'>";
                }
                echo "<p>".$row['first']."</p>";
            echo "</div>";
        }
    }   
}       else {
            echo "There are no users yet!";
        }

uploadProfile.php:

<?php
session_start();
include '../dbh.php';
$id = $_SESSION['id'];
$userID = $id;



if (isset($_POST['submit'])) {
    $file = $_FILES['file'];

    $fileName = $_FILES['file']['name'];
    $fileTmpName = $_FILES['file']['tmp_name'];
    $fileSize = $_FILES['file']['size'];
    $fileERROR = $_FILES['file']['error'];
    $fileType = $_FILES['file']['type'];

    $fileExt = explode('.', $fileName);
    $fileActualExt = strtolower(end($fileExt));

    $allowed = array('jpg', 'jpeg', 'gif', 'png', 'mov', 'mpeg4', 'mp4', 'avi', 'wmv', 'mpegps', 'flv', '3gpp', 'webm');

    if (in_array($fileActualExt, $allowed)) {
        if ($fileERROR === 0) {
            if ($fileSize < 500000) {
                $fileNameNew = "profile".$id.".".$fileActualExt;
                $fileDestination = '../uploads/'.$fileNameNew;
                $sql = "UPDATE profileImg SET status=0 WHERE id='$id'";
                $result = mysqli_query($conn, $sql);
                move_uploaded_file($fileTmpName, $fileDestination);
                header("Location: ../profile.php?id=$userID");
            } else {
                echo "Your file is too large";
            }

        } else {
            echo "There was an error uploading your file";
        }
    } else {
        echo "You cannot upload files of this type";
    }
}

?>

1 个答案:

答案 0 :(得分:2)

正在将文件上传到上传行

$fileDestination = '../uploads/'.$fileNameNew;

和img src是
  echo "<img src='images/profile".$id.".jpg'>";

请更新您的代码。

修改:您允许上传多个扩展程序,并在profile.php上使用单一扩展程序加载图片。