Изображения успешно загружены в базу данных и отображаются в каталоге, но не отображаются на странице php - PullRequest
0 голосов
/ 28 апреля 2019

Изображения успешно загружены в базу данных и отображаются в каталоге, но не отображаются на странице php. Изображения отображаются как разбитые изображения на странице php. Помогите мне заставить их отображаться на странице php. Я следовал за учебником и смотрел его много раз, чтобы убедиться, что нет ошибок, вызывающих испорченные изображения. Я пытался исправить это в течение нескольких дней, но он не будет отображать изображения. Я использую XAMPP на Mac OS. Пожалуйста, просмотрите мои коды и дайте мне знать, почему он не отображает изображения на php.

marketplace_upload.inc.php начинается здесь:


if (isset($_POST['submit'])) {

    $newFileName = $_POST['filename'];

    if (empty($newFileName)) {
        $newFileName = "gallery";

        } else {
            $newFileName = strtolower(str_replace(" ", "-", $newFileName));
        }

        $imageTitle = $_POST['filetitle'];
        $imagePrice = $_POST['fileprice'];


        $file = $_FILES['file']; 

        $fileName = $file["name"];
        $fileType = $file["type"];
        $fileTempName = $file["tmp_name"];
        $fileError = $file["error"];
        $fileSize = $file["size"];


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

        $allowed = array("jpg", "jpeg", "png");

        if (in_array($fileActualExt, $allowed)) {
            if ($fileError === 0) {
                if ($fileSize < 2000000) {
                    $imageFullName = $newFileName . "." . uniqid("", true) . "." . $fileActualExt;
                    $fileDestination = "../img/gallery/" . $imageFullName;

                    include_once "dbh.inc.php";

                    if (empty($imageTitle) || empty($imagePrice)) {
                        header("Location:../gallery.php?upload=empty");
                        exit();
                    } else {
                        $sql = "SELECT * FROM gallery;"; 
                        $stmt = mysqli_stmt_init($conn);
                        if (!mysqli_stmt_prepare($stmt, $sql)) {
                            echo "SQL statement failed!";
                        } else {
                            mysqli_stmt_execute($stmt);
                            $result = mysqli_stmt_get_result($stmt);
                            $rowCount = mysqli_num_rows($result);
                            $setImageOrder = $rowCount + 1;

                            $sql = "INSERT INTO gallery (titleGallery, priceGallery, imgFullNameGallery, orderGallery) VALUES (?, ?, ?, ?);";
                        }
                            if (!mysqli_stmt_prepare($stmt, $sql)) {
                            echo "SQL statement failed!";
                        } else {
                            mysqli_stmt_bind_param($stmt, "ssss", $imageTitle, $imagePrice, $imageFullName, $setImageOrder);
                            mysqli_stmt_execute($stmt);

                            move_uploaded_file($fileTempName, $fileDestination);
                            header("Location: ../gallery.php?upload=success");
                            }
                        }
                    }
                } else {
                    echo "File size is too big!";
                    exit();
                }
            } else {
                echo "You had an error!";
                exit();
            }
        } else {
            echo "You need to upload a proper file type!";
            exit();
        }

Снимок экрана с кодами gallery.php, где должны отображаться изображения. Это не позволит мне вставить сюда коды.

Я бы хотел, чтобы любые загруженные изображения на моем веб-сайте загрузки также отображались в localhost.

1 Ответ

0 голосов
/ 29 апреля 2019

Спасибо всем, кто помог мне или попытался помочь мне. Я наконец решил проблему. Причина, по которой мои изображения не отображались на моей странице php, заключается в том, что я не менял права доступа. Как только я изменил права на чтение и запись, мои коды начали делать то, что я хочу, чтобы они делали.

...