php / php/php-src

cURL - Send 2+ files using the same parameter name ("file[]")

Aperta
#15,859 4 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Extension: curl Feature Status: Verified
Lingua principale
C
Stelle
40.4k
Fork
8.1k
Merge medio
2g 13h
PR unite (30g)
96

Descrizione

Description

The pull request https://github.com/php/php-src/pull/8292 made it possible to send an array of parameters of the same name.

However, it doesn't seem to support files:

I'm using PHP 8.3, but I'm not succeeding in doing this:

curl_setopt($ch, CURLOPT_HTTPHEADER, [
	'Content-Type: multipart/form-data'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, [
	'file' => [
		new CURLFile($file1, posted_filename: 'File1.jpg'),
		new CURLFile($file2, posted_filename: 'File2.jpg')
	]
]);

PHP Fatal error: Uncaught Error: Object of class CURLFile could not be converted to string

Would it be possible to fix this, please?

Thank you very much!

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando la gestione PHP di cURL per CURLOPT_POSTFIELDS, i valori CURLFile e gli array multipart/form-data, usando come punti di ingresso la riproduzione nell’issue e la precedente modifica ai parametri array nella pull request 8292. Verifica il comportamento con due oggetti CURLFile sotto lo stesso nome di campo; il lavoro è completo quando entrambi i file vengono codificati e inviati senza l’errore fatale di conversione dell’oggetto e viene aggiunta la copertura di regressione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
c, php
Ambito
api, backend
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
58/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.