Probleme mit hochladen von PDF-Dateien mit PHP
Bin ich der Begegnung mit einem seltsamen problem mit meinem script, das ich die Prüfung zum hochladen von PDF-Dateien. Ich kann erfolgreich hochladen einige pdf-Dateien, während Sie nicht die anderen Dateien, auch wenn Sie alle PDF-Dateien und habe .pdf als Endung. Jemand kann werfen etwas Licht auf diese nach thtough mein code
HTML-TEIL:
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="file" name="upload" /><br />
<input type="submit" name="submit">
PHP-TEIL:
if(isset($_POST['submit'])){
$output_form = 0;
if (($_FILES["upload"]["type"] == "application/pdf")
&& ($_FILES["upload"]["size"] < 80000)){
if (file_exists("upload/" . $_FILES["upload"]["name"]))
{
echo $_FILES["upload"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["upload"]["tmp_name"],
"upload/" . $_FILES["upload"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["upload"]["name"];
}
}else{
echo 'Invalid File';
}
}
Einigen Dateien erhalte ich die Ausgabe gespeichert, in der Ausgabe. Für die anderen bin ich immer die Meldung "Ungültige Datei".
Dank
- Kann es sein, dass Sie hochladen können short Dateien, aber nicht mehr - Dateien? Wenn ja, schau auf deine max Datei-upload-Größe in php.ini
Du musst angemeldet sein, um einen Kommentar abzugeben.
dein code oben zu haben scheint, eine Bedingung, dass, wenn die Dateigröße ist größer als 80000 dann sollte es werfen die 'Ungültige Datei' Fehler? Welche Größe sind diejenigen, die scheitern? Ich wäre bereit zu Wetten, wenn Sie kommentieren Sie, dass diese Bedingung dann funktioniert es
Hatte die gleichen Probleme.
Festgestellt, dass der Datei-Typ kann aber auch sein, application/x-octet-stream
So müssen Sie überprüfen, dass in der gleichen Anweisung, dass Sie überprüfen die Größe der Datei.
So etwas wie dieses:
if (($_FILES['pdfUpload']['type'] == "application/pdf")
|| ($_FILES['pdfUpload']['type'] == "application/x-octet-stream")
&& ($_FILES['pdfUpload']['size'] < 9000000)) //Viel größer und wir bekommen ein timeout während der übertragung
Meine 2 Cent Wert