Heim > Artikel > Backend-Entwicklung > Warum schlägt mein CodeIgniter-Upload trotz korrekter Konfiguration mit der Fehlermeldung „Dateityp nicht zulässig“ fehl?
Wenn Sie in CodeIgniter versuchen, eine Datei mit einem nicht unterstützten Typ hochzuladen, wird möglicherweise die Fehlermeldung angezeigt: „ Der Dateityp, den Sie hochladen möchten, ist nicht zulässig.“ Dieses Problem entsteht aufgrund einer Nichtübereinstimmung zwischen der Dateierweiterung und ihrem tatsächlichen MIME-Typ.
Beim Einrichten der Upload-Bibliothek definieren Sie die Liste der zulässigen Dateitypen mithilfe von Konfigurationsparameter „allowed_types“. Das Problem kann jedoch auftreten, wenn der Server die Erweiterung der Datei als ihren MIME-Typ interpretiert.
Insbesondere ist bekannt, dass Firefox Dateierweiterungen falsch interpretiert und falsche MIME-Typen zuweist. Beispielsweise kann es die Erweiterung .wmv einer WMV-Datei als video/x-ms-wmv interpretieren. Dies führt dazu, dass der Upload trotz der korrekten Konfiguration in config/mimes.php fehlschlägt.
Um dieses Problem zu beheben, können Sie die Methode _file_mime_type() der Upload-Bibliothek ändern, um die auszugeben tatsächlicher MIME-Typ. Durch Hinzufügen einer Zeile nach 199:
<code class="php">$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();</code>
Wenn Sie dann eine Datei mit einem falsch erkannten MIME-Typ hochladen, bricht das Skript ab und gibt den richtigen MIME-Typ aus. Anschließend können Sie diesen Typ zu Ihrer config/mimes.php-Konfiguration hinzufügen.
Bedenken Sie, dass Browserkonfigurationen oder Servereinstellungen das Upload-Verhalten beeinflussen können. Daher lohnt es sich, das Verhalten in verschiedenen Browsern und Serverumgebungen zu überprüfen, um mögliche Abweichungen zu erkennen.
Das obige ist der detaillierte Inhalt vonWarum schlägt mein CodeIgniter-Upload trotz korrekter Konfiguration mit der Fehlermeldung „Dateityp nicht zulässig“ fehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!