Heim >Backend-Entwicklung >PHP-Tutorial >Warum lehnt CodeIgniter meine WMV-Dateien ab, obwohl ich zulässige Dateitypen angegeben habe?

Warum lehnt CodeIgniter meine WMV-Dateien ab, obwohl ich zulässige Dateitypen angegeben habe?

Linda Hamilton
Linda HamiltonOriginal
2024-10-31 11:19:29937Durchsuche

Why Does CodeIgniter Reject My WMV Files Even Though I Specified Allowed File Types?

CodeIgniter: Behebung des Upload-Problems „Dateityp nicht zulässig“

In diesem CodeIgniter-Upload-Szenario wird den Benutzern ein Fehler angezeigt, der darauf hinweist, dass der Uploadversuch erfolgt ist Dateityp ist nicht zulässig. Trotz der Angabe der zulässigen Dateitypen im Controller können bestimmte Dateiformate, wie z. B. WMV-Videos, nicht hochgeladen werden.

Während des Upload-Vorgangs versucht CodeIgniter, den MIME-Typ der Datei zu ermitteln. In einigen Fällen kann es jedoch vorkommen, dass Firefox oder andere Browser die Dateierweiterung fälschlicherweise als MIME-Typ interpretieren. Dies kann zum Fehler „Dateityp nicht zulässig“ führen, wenn der MIME-Typ in der Konfiguration nicht erkannt wird.

Um dieses Problem zu beheben, können wir den für die hochgeladene Datei erkannten MIME-Typ überprüfen, indem wir die folgende Zeile hinzufügen Die upload()-Methode des Controllers:

<code class="php">$this->_file_mime_type($_FILES[$field]); var_dump($this->file_type); die();</code>

Nach dem Hochladen einer WMV-Datei wird der erkannte MIME-Typ angezeigt. Es könnte beispielsweise application/octet-stream angezeigt werden, der nicht in der Konfiguration der zulässigen MIME-Typen enthalten ist.

Um das Problem zu lösen, fügen Sie den erkannten MIME-Typ zur Konfigurationsdatei mimes.php hinzu:

<code class="php">'wmv' => array('video/x-ms-wmv', 'audio/x-ms-wmv', 'application/octet-stream')</code>

Durch Hinzufügen des richtigen MIME-Typs zur Konfiguration erkennt CodeIgniter den WMV-Dateityp und lässt seinen Upload zu.

Beachten Sie, dass die Browser- oder Computerkonfiguration das Upload-Verhalten beeinflussen kann. Beispielsweise können auf bestimmten Systemen möglicherweise nur AVI-Uploads erfolgreich sein, während auf anderen Systemen alle unterstützten Dateien hochgeladen werden können. Dies deutet darauf hin, dass das Problem möglicherweise auch browser- oder systemspezifisch ist.

Wenn der MIME-Typauflösungsansatz das Upload-Problem nicht löst, finden Sie weitere Informationen zur Fehlerbehebung in den folgenden Ressourcen:

  • Thread des CodeIgniter-Forums
  • Mimetype-Beschädigung in Firefox
  • Umgehen der MIME-Typ-Verfälschung des IE

Das obige ist der detaillierte Inhalt vonWarum lehnt CodeIgniter meine WMV-Dateien ab, obwohl ich zulässige Dateitypen angegeben habe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn