php / php/php-src

curl_getinfo($ch, CURLINFO_CONTENT_TYPE) returns false when Content-Type header is not set

Offen
#16,929 3 Kommentare 2 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Extension: curl Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.2k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

The following code:

<?php
$ch = curl_init();
$url = 'https://epapucs.hu/wp-content/uploads/2024/11/F318482161_2.webp';

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, $url);
curl_exec($ch);

$ct = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);

var_dump($ct);

$info = curl_getinfo($ch)['content_type'];

var_dump($info);

curl_close($ch);

Resulted in this output:

bool(false)
NULL

I'd expect these two values to be the same. It's hard to handle errors when a false value is returned when there's no error.

These are the first elements of curl_getinfo associative_array:

array(41) {
  ["url"]=>
  string(63) "https://epapucs.hu/wp-content/uploads/2024/11/F318482161_2.webp"
  ["content_type"]=>
  NULL
  ["http_code"]=>
  int(200)
PHP Version

PHP 8.4.1

Operating System

macOS 15.1

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Der Bericht enthält keine Repository-Datei und keinen Test-Einstiegspunkt. Führen Sie zunächst die bereitgestellte PHP-Reproduktion gegen eine Antwort ohne Content-Type-Header aus und untersuchen Sie anschließend, wie die skalaren und assoziativen curl_getinfo-Ergebnisse erzeugt werden. Erledigt ist die Aufgabe, wenn sich die beiden Formen bei dieser Antwort konsistent und dokumentiert verhalten.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.