Linux – Fehler beim Herunterladen von PHP-Bildern
1 Wenn der Benutzer auf der Website auf den Link zum Herunterladen des QR-Codes klickt, ruft der Server den von WeChat generierten QR-Code ab und lädt ihn auf den Computer des Benutzers herunter
Die gleiche Codetestmaschine hat kein Problem, das Online-Bild jedoch nicht geöffnet werden,
Der Code lautet wie folgt
<code> public function download(){ $url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxxxxxxxx"; $tmp = file_get_contents($url); $file_name = "weixin.jpg"; // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".strlen($tmp)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo $tmp; exit(); }</code>
Grundsätzlich wurde festgestellt, dass es durch unterschiedliche Umgebungen verursacht wird.
Gibt es irgendwelche Anforderungen an die Serverkonfiguration oder installierte Software für diese Codezeilen zum Herunterladen von Bildern?
Mit demselben Code können die heruntergeladenen Bilder auf dem Testcomputer geöffnet werden, nicht jedoch auf dem Online-Computer
---------------------Trennlinie------------------------
Nach der Überprüfung wurde festgestellt, dass die Ausgabe anderer Klassen, auf die online verwiesen wird, Leerzeilen enthält (möglicherweise handelt es sich um den BOM-Header oder das Schlusszeichen des PHP-Codes?>) und dass danach eine Leerzeile steht it), was zu einer Ausgabe vor der Kopfzeile führt und das Bild nicht gedruckt werden kann. Ja, es sind zu viele Dateien vorhanden und es ist wirklich schwierig, sie zu finden.
Nach dem Hinzufügen des folgenden Codes ist das Problem gelöst.
<code>//清除之前的输出,确保图片完整。 ob_start(); ob_end_flush(); ob_end_clean();</code>
Antwortinhalt:
1 Wenn der Benutzer auf der Website auf den Link zum Herunterladen des QR-Codes klickt, ruft der Server den von WeChat generierten QR-Code ab und lädt ihn auf den Computer des Benutzers herunter
Die gleiche Codetestmaschine hat kein Problem, das Online-Bild jedoch nicht geöffnet werden,
Der Code lautet wie folgt
<code> public function download(){ $url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxxxxxxxx"; $tmp = file_get_contents($url); $file_name = "weixin.jpg"; // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".strlen($tmp)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo $tmp; exit(); }</code>
Grundsätzlich wurde festgestellt, dass es durch unterschiedliche Umgebungen verursacht wird.
Gibt es irgendwelche Anforderungen an die Serverkonfiguration oder installierte Software für diese Codezeilen zum Herunterladen von Bildern?
Mit demselben Code können die heruntergeladenen Bilder auf dem Testcomputer geöffnet werden, nicht jedoch auf dem Online-Computer
---------------------Trennlinie------------------------
Nach der Überprüfung wurde festgestellt, dass die Ausgabe anderer Klassen, auf die online verwiesen wird, Leerzeilen enthält (möglicherweise handelt es sich um den BOM-Header oder das Schlusszeichen des PHP-Codes?>) und dass danach eine Leerzeile steht it), was zu einer Ausgabe vor der Kopfzeile führt und das Bild nicht gedruckt werden kann. Ja, es sind zu viele Dateien vorhanden und es ist wirklich schwierig, sie zu finden.
Nach dem Hinzufügen des folgenden Codes ist das Problem gelöst.
<code>//清除之前的输出,确保图片完整。 ob_start(); ob_end_flush(); ob_end_clean();</code>
Ich bin auf dieses Problem gestoßen. Ich denke, der Fehler liegt in file_get_contents
. Ihre URL ist https und file_get_contents
bleibt beim Abrufen hängen. Versuchen Sie es mit Curl anstelle von file_get_contents
, was das Problem lösen sollte.
(Es gibt zwei SSL-Einstellungen in Curl, die dem Programm den normalen Zugriff auf https ermöglichen. Das sollte übrigens jeder wissen)
<code> Header("Accept-Length: ".strlen($tmp)); 不定义这个试试</code>
strlen
Wenn ein 0
auftritt, wird davon ausgegangen, dass das Ende der Zeichenfolge erreicht wurde, und 0
wird möglicherweise in der Mitte des Bildes angezeigt, sodass nur ein Teil der Daten angezeigt wird des Bildes erhalten, und es kann natürlich nicht geöffnet werden.
Zum Beispiel
<code>$hex='3332310033323131313131313131313131313131313131313131313131313131313131313131313131' //结果是321,即0后面的都无效。</code>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

PHP ist eine serverseitige Skriptsprache, die für dynamische Webentwicklung und serverseitige Anwendungen verwendet wird. 1.PHP ist eine interpretierte Sprache, die keine Zusammenstellung erfordert und für die schnelle Entwicklung geeignet ist. 2. PHP -Code ist in HTML eingebettet, wodurch es einfach ist, Webseiten zu entwickeln. 3. PHP verarbeitet die serverseitige Logik, generiert die HTML-Ausgabe und unterstützt Benutzerinteraktion und Datenverarbeitung. 4. PHP kann mit der Datenbank interagieren, die Einreichung von Prozessformularen und serverseitige Aufgaben ausführen.

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Zu den Kernvorteilen von PHP gehören einfacher Lernen, starke Unterstützung für Webentwicklung, reiche Bibliotheken und Rahmenbedingungen, hohe Leistung und Skalierbarkeit, plattformübergreifende Kompatibilität und Kosteneffizienz. 1) leicht zu erlernen und zu bedienen, geeignet für Anfänger; 2) gute Integration in Webserver und unterstützt mehrere Datenbanken. 3) leistungsstarke Frameworks wie Laravel; 4) hohe Leistung kann durch Optimierung erzielt werden; 5) mehrere Betriebssysteme unterstützen; 6) Open Source, um die Entwicklungskosten zu senken.

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

PHP hat das Netzwerk in den letzten Jahrzehnten geprägt und wird weiterhin eine wichtige Rolle bei der Webentwicklung spielen. 1) PHP stammt aus dem Jahr 1994 und ist aufgrund seiner Benutzerfreundlichkeit und der nahtlosen Integration in MySQL die erste Wahl für Entwickler. 2) Zu den Kernfunktionen gehört das Generieren dynamischer Inhalte und die Integration in die Datenbank, sodass die Website in Echtzeit aktualisiert und auf personalisierte Weise angezeigt wird. 3) Die breite Anwendung und das Ökosystem von PHP hat seine langfristigen Auswirkungen angetrieben, steht jedoch auch mit Versionsaktualisierungen und Sicherheitsherausforderungen gegenüber. 4) Leistungsverbesserungen in den letzten Jahren, wie die Veröffentlichung von PHP7, ermöglichen es ihm, mit modernen Sprachen zu konkurrieren. 5) In Zukunft muss PHP sich mit neuen Herausforderungen wie Containerisierung und Microservices befassen, aber seine Flexibilität und die aktive Community machen es anpassungsfähig.
