Heim php教程 php手册 为什么上传图片时,type 显示application/octet-stream 呢? 原

为什么上传图片时,type 显示application/octet-stream 呢? 原

Jun 06, 2016 pm 08:11 PM
application type 上传 Warum 显示

错误如下参考: array (size=10) 'name' = string 'upload.image.type.error.jpg' (length=27) 'type' = string 'application/octet-stream' (length=24) 'tmp_name' = string 'D:\WampServer\tmp\phpEC2F.tmp' (length=29) 'error' = int 0 'size' = string

错误如下参考:

array (size=10)
  'name' => string 'upload.image.type.error.jpg' (length=27)
  'type' => string 'application/octet-stream' (length=24)
  'tmp_name' => string 'D:\WampServer\tmp\phpEC2F.tmp' (length=29)
  'error' => int 0
  'size' => string '61574' (length=5)
  'options' => 
    array (size=4)
      'ignoreNoFile' => boolean true
      'useByteString' => boolean true
      'magicFile' => null
      'detectInfos' => boolean true
  'validated' => boolean false
  'received' => boolean false
  'filtered' => boolean false
  'validators' => 
    array (size=5)
      0 => string 'Zend_Validate_File_Upload' (length=25)
      1 => string 'Zend_Validate_File_Count' (length=24)
      2 => string 'Zend_Validate_File_Size' (length=23)
      3 => string 'Zend_Validate_File_Extension' (length=28)
      4 => string 'Zend_Validate_File_IsImage' (length=26)
Nach dem Login kopieren


遇到这类错误,建议不要添加Minitype来解决,因为这样可能会有安全隐患, 如下代码不建议:

'jpeg'   =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'jpg'    =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'jpe'    =>    array('image/jpeg', 'image/pjpeg', 'application/octet-stream'),
 'png'    =>    array('image/png',  'image/x-png', 'application/octet-stream'),
Nach dem Login kopieren

我的遇到的原因最终定于PHP的扩展 php_fileinfo 没有打开, 打开后测试正常如下:

array (size=10)
  'name' => string 'upload.image.type.error.jpg' (length=27)
  'type' => string 'image/jpeg' (length=10)
  'tmp_name' => string 'D:\WampServer\tmp\php5262.tmp' (length=29)
  'error' => int 0
  'size' => string '61574' (length=5)
  'options' => 
    array (size=4)
      'ignoreNoFile' => boolean true
      'useByteString' => boolean true
      'magicFile' => null
      'detectInfos' => boolean true
  'validated' => boolean false
  'received' => boolean false
  'filtered' => boolean false
  'validators' => 
    array (size=5)
      0 => string 'Zend_Validate_File_Upload' (length=25)
      1 => string 'Zend_Validate_File_Count' (length=24)
      2 => string 'Zend_Validate_File_Size' (length=23)
      3 => string 'Zend_Validate_File_Extension' (length=28)
      4 => string 'Zend_Validate_File_IsImage' (length=26)
Nach dem Login kopieren
Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was hat die Priorität der C -Sprache! X? Was hat die Priorität der C -Sprache! X? Apr 03, 2025 pm 02:06 PM

Der logische Nichtoperator (!) Hat die Priorität neben Klammern, was bedeutet, dass er den meisten anderen Betreibern in Ausdrücken vorausgeht. Das Verständnis der Priorität erfordert nicht nur ein Auswendiglernen, sondern auch das Verständnis der Logik und der potenziellen Fallstricke, um nicht nachweisbare Fehler in komplexen Ausdrücken zu vermeiden. Das Hinzufügen von Klammern kann die Ausdrucksabsicht klären, die Klarheit und Wartbarkeit der Code verbessern und unerwartetes Verhalten verhindern.

Best Practices für C -Sprache Standardeinstellung Best Practices für C -Sprache Standardeinstellung Apr 03, 2025 pm 03:48 PM

Die Best Practices von Standard in der C -Sprache: Platzieren Sie sie am Ende der Switch -Anweisung als Standardverarbeitung für unerreichte Werte; Es wird verwendet, um unbekannte oder ungültige Werte zu verarbeiten, um die Programm Robustheit zu verbessern. Vermeiden Sie die Duplikation mit Fallzweigen, um die zuversichtliche Aufrechterhaltung zu erhalten. Kommentieren Sie deutlich zum Zweck der Standardzweig, um die Lesbarkeit zu verbessern. Vermeiden Sie es, mehrere Standardeinstellungen in einem Fall zu verwenden, um Klarheit aufrechtzuerhalten. Halten Sie den Standardzweig präzise und vermeiden Sie komplexe Operationen. Erwägen Sie, Aufzählungswerte als Fallbedingungen zu verwenden, um die Wartbarkeit zu verbessern. Verwenden Sie in großen Switch -Anweisungen mehrere Standardzweige, um unterschiedliche Situationen zu verarbeiten.

Tutorial, wie man den größten gemeinsamen Divisor in C -Sprachfunktionen darstellt Tutorial, wie man den größten gemeinsamen Divisor in C -Sprachfunktionen darstellt Apr 03, 2025 pm 11:21 PM

Methoden zur effizienten und eleganten Methode finden den größten gemeinsamen Divisor in der C -Sprache: Verwenden Sie die Phasenaufteilung, um den Rest ständig zu teilen, bis der Rest 0 ist. Zwei Implementierungsmethoden werden bereitgestellt: Rekursion und Iteration sind prägnant und klar, und die iterative Implementierung ist höher und stabiler. Achten Sie auf die Behandlung negativer Zahlen und 0S und berücksichtigen Sie die Leistungsoptimierung, aber die Phasenabteilung selbst ist effizient genug.

Front-End-Filerader-Datei Lesen: Warum müssen Sie zuerst instanziieren und dann lesen? Front-End-Filerader-Datei Lesen: Warum müssen Sie zuerst instanziieren und dann lesen? Apr 04, 2025 pm 01:48 PM

In Bezug auf FileReader-Instanziierung und Dateilesen in der Front-End-Entwicklung müssen wir häufig von Benutzern hochgeladene Dateien verarbeiten. verwenden

Erforschen Erforschen Apr 04, 2025 am 07:15 AM

Haben Sie jemals Schwierigkeiten gehabt, große Mengen an Dateien zu übertragen oder zu speichern? Erfahren Sie mehr über FileSplitter & Merger, ein Open -Source -Projekt, das diese Herausforderung auf elegante und effiziente Weise vereinfachen soll. Was macht dieses Projekt? Die Dateisegmentierung und der Zusammenführen bestehen aus zwei Tools: Dateisplitter - Dividieren großer Dateien in kleinere Stücke. Dateiverführung - Warum ist es nützlich, diese Blöcke in die Originaldatei zu rekombinieren? Die Arbeit mit sehr großen Dateien kann entmutigend sein, insbesondere beim Übertragen oder Speichern. Mit diesen Tools können Sie Dateien in überschaubare Fragmente aufteilen und dann die Originaldateien aus diesen Fragmenten neu aufbauen. Dateisplitter Dieses Programm spaltet die Eingabedatei in kleinere Teile einer bestimmten Größe auf. Jeder Block wird als separate Datei gespeichert. Nutzung: Kopieren Sie den zu spaltenden Text

Warum wird mein RXJS -Code beim Betrieb auf Streams nicht wirksam? Warum wird mein RXJS -Code beim Betrieb auf Streams nicht wirksam? Apr 04, 2025 pm 06:27 PM

Warum wird mein Code nicht wirksam, wenn sie RXJS zum Betrieb in Streams verwenden? Rxjs lernen ...

Warum gibt es nach dem Sprung des Vue-Router-Sprungs keine Seitenanfrageninformationen im Konsolenetzwerk? Warum gibt es nach dem Sprung des Vue-Router-Sprungs keine Seitenanfrageninformationen im Konsolenetzwerk? Apr 04, 2025 pm 05:27 PM

Warum gibt es nach dem Sprung des Vue-Router-Sprungs keine Seitenanfrageninformationen im Konsolenetzwerk? Wenn Sie Vue-Router für die Umleitung von Seiten verwenden, können Sie eine ...

Unbenutzte Variablen in C/C: Warum und wie? Unbenutzte Variablen in C/C: Warum und wie? Apr 03, 2025 pm 10:48 PM

In der C/C -Codeüberprüfung gibt es häufig Fälle, in denen keine Variablen verwendet werden. In diesem Artikel werden häufige Gründe für ungenutzte Variablen untersucht und erklärt, wie der Compiler Warnungen ausstellt und wie bestimmte Warnungen unterdrückt werden können. Ursachen für nicht verwendete Variablen Es gibt viele Gründe für ungenutzte Variablen im Code: Codefehler oder Fehler: Der direkteste Grund ist, dass es Probleme mit dem Code selbst gibt und die Variablen möglicherweise überhaupt nicht benötigt werden oder sie benötigt, aber nicht korrekt verwendet werden. Code Refactoring: Während des Softwareentwicklungsprozesses wird der Code kontinuierlich geändert und neu gestaltet, und einige einmal wichtige Variablen können zurückgelassen und nicht verwendet werden. Reservierte Variablen: Entwickler können einige Variablen für die zukünftige Verwendung vorlegen, werden jedoch am Ende nicht verwendet. Bedingte Zusammenstellung: Einige Variablen können nur unter bestimmten Bedingungen (z. B. Debug -Modus) liegen

See all articles