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!!
php upload pdf
1 Commenti
Ciao,<br />grazie per la guida! Però ho questo errore:<br /><br /><br />Warning: move_uploaded_file(/Spartiti/file.pdf) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Inetpub\webs\coroconcorezzoit\upload3.php on line 12<br /><br />Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\PHP\upload\php312D.tmp' to '/Spartiti/file.pdf' in D:\Inetpub\webs\coroconcorezzoit\upload3.php on line 12<br />Si è verficato un errore<br /><br /><br /><br />Come posso fare? Premetto che non uso un database e ho già settato tutti i permessi su 777.
02/03/2013