Home / Programmazione / PHP / Upload di PDF con PHP
Mattepuffo

Upload di PDF con PHP

Upload di PDF con PHP

Dopo aver visto in vari modi come caricare immagini usando PHP, oggi vedremo com fare l'upload di file PDF.

La cancellazione invece è identica per tutti i file, in quanto non gli importa dell'estensione ma solo del percorso e del nome del file.

Prima di tutto il form:

<form action="#" method="post" enctype="multipart/form-data">
        <input type="file" name="filepdf" /><br />
        <input type="submit" value="Upload menu pdf" name="upload_pdf" />
 </form>

Esempio basilare: un campo per scegliere il file e un bottone.

Adesso passiamo alla parte PHP.

<?php
    $pdfPath = "../FILEPDF/";
    $maxSize = 102400;
    if ($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['upload_pdf'])) {   
        if (is_uploaded_file($_FILES['filepdf']['tmp_name'])) {
            if ($_FILES['filepdf']['type'] != "application/pdf") {
                echo '<p>Il file non è un PDF</p>';
            } else if ($_FILES['filepdf']['size'] > $maxSize) {
                echo '<p class="error">File troppo grande. Dimensione massima: ' . $maxSize . 'KB</p>';
            } else {
                $menuName = 'file.pdf';
                $result = move_uploaded_file($_FILES['filepdf']['tmp_name'], $pdfPath . $menuName);
                if ($result == 1) {
                    echo '<p class="error">Menu caricato</p>';
                } else {
                    echo '<p class="error">Si è verficato un errore</p>';
                }
            }
        }
    }
?>

Prima impostiamo il percors dove vanno salvati i file e la dimensione massima consentita.

Poi facciamo i vari controlli.

Il controlla banalmente se è stato scelto un file da caricare.

Il secondo controlla se il file è di tipo PDF.

Questo lo fa controllando che il MIME type sia di tipo application/pdf (guardate qua per maggiorni info).

Poi controlla la dimensione del file.

Se i controlli vanno a buon fine prova a caricare il file sul server impostando un nome e aggiungendolo al path generale.

Infine fa un controllo per resituire il messaggio finale (caricato o errore).

Abbastanza semplice direi!!