Как использовать php для загрузки файлов .pdf и .docx вместе с изображениями из формы - PullRequest
0 голосов
/ 05 октября 2019

У меня есть веб-сайт электронной библиотеки, где администратор должен загружать книги на сервер вместе с другой информацией и обложкой книги, которая обычно находится в формате .jpeg или .jpg, как мне это сделать? Вот мой код ниже

    <?php

require_once("db.php");
$book_title = $book_author = $book_category = $isbn_no = $purchase_date = $edition = $pages = $publisher = $book_link = $book_internal = $cover_art = '';

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


    $file = $_FILES["book_internal"]; //getting user uploaded file

    move_uploaded_file($file["tmp_name"], "uploads/books" .$file["name"]); //save file to upload folder




$book_title = mysqli_real_escape_string($conn, $_POST['book_title']);
$book_author = mysqli_real_escape_string($conn, $_POST['book_author']);
$book_category = mysqli_real_escape_string($conn, $_POST['book_category']);
$isbn_no = mysqli_real_escape_string($conn, $_POST['isbn_no']);
$purchase_date = mysqli_real_escape_string($conn, $_POST['purchase_date']);
$edition = mysqli_real_escape_string($conn, $_POST['edition']);
$pages = mysqli_real_escape_string($conn, $_POST['pages']);
$publisher = mysqli_real_escape_string($conn, $_POST['publisher']);
$book_link = mysqli_real_escape_string($conn, $_POST['book_link']);
$book_internal = mysqli_real_escape_string($conn, $_POST['book_internal']);
$cover_art = mysqli_real_escape_string($conn, $_POST['cover_art']);


    $sql = "INSERT INTO books (book_title, book_author, book_category, isbn_no, purchase_date, edition, pages, publisher, book_link, book_internal, cover_art)
    VALUES ('$book_title', '$book_author', '$book_category', '$isbn_no', '$purchase_date', '$edition', '$pages', '$publisher', '$book_link', '$book_internal', '$cover_art')";

    $result = mysqli_query($conn, $sql);

    if($result) {
        header("location: upload-books.php");
        echo "Upload successful!";

    }
    else {
        echo "Error:".mysqli_error($conn);
    }


}

 ?>

1 Ответ

0 голосов
/ 05 октября 2019

Коды, как загружать PDF-файл с использованием PHP

Вы загружаете их так же, как загружаете изображения.

PS: я могу порекомендовать вам этот код дляубедитесь, что в именах файлов вашей папки нет дубликатов:

    $uploadStatus = 1;
    $uploadedFile = '';
    if (!empty($_FILES["img1"]["name"]))
    {
        $fileName = basename($_FILES["img1"]["name"]);
        $filenamewithoutextension = strtolower(pathinfo($fileName, PATHINFO_FILENAME));
        $fileType = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));

        $filename_to_store = $filenamewithoutextension. '_' .uniqid(). '.' .$fileType;

        $allowTypes = array(
            'jpg',
            'png',
            'jpeg'
        );
        if (in_array($fileType, $allowTypes))
        {
            if (move_uploaded_file($_FILES["img1"]["tmp_name"], $uploadDir.$filename_to_store))
            {
                $uploadedFile = $filename_to_store;
            }
            else
            {
                $uploadStatus = 0;
                $response['message'] = 'Sorry, there was an error uploading your file.';
            }
        }
        else
        {
            $uploadStatus = 0;
            $response['message'] = 'Sorry, only JPG, JPEG & PNG files are allowed.';
        }
    }
    if($uploadStatus==1)
    { //insert Them into you table }
...