Bonjour
Je suis en PHP 7 et je veux envoyer un fichier avec CURL
J'ai repris des exemples de la doc et ceux du web, mais je ne parviens pas à envoyer le fichier
Cela semble pourtant simple.

Voici ce que j'ai codé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
		$uri=$POST_ApiAdresse.'api/now/attachment/upload?table_name=sc_req_item&table_sys_id='.$Id;
 
		$Chemin='c:/Users/ulmeen/Documents/';
 
		$Fichier='MonFichier.xml';
 
		$FichierSource=$Chemin.$Fichier;
 
		$curl = curl_init($uri);
		$headers = array(
			'Accept:application/json',
			'Content-Type:multipart/form-data',
			'Authorization: Basic '. $POST_Acces
		);
		$cfile = curl_file_create($FichierSource,$Mime,$Fichier);
 
		$data = array('file' => $cfile);
		echo '<br/>datas à transférer<br/>';
		print_r($data);
		echo '<br/>';
 
		curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
 
		curl_setopt($curl, CURLOPT_POST, 1);
		curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
 
		echo '<br/>transfert fichier ...';
 
		$result_retour = curl_exec($curl);
 
		if(strpos($result_retour,'failure') >0 || curl_errno($curl) >0){
			echo '......pas de transfert';
			echo '<br/>Erreur Curl='.curl_errno($curl);
			echo '<br/>retour Curl:'.$result_retour;
		}
		else{
			echo '......Fichier transféré';
		}
J'obtiens :
datas à transférer
Array ( [file] => CURLFile Object ( [name] => c:/Users/ulmeen/Documents/MonFichier.xml [mime] => xml [postname] => MonFichier.xml ) )

transfert fichier .........pas de transfert
Erreur Curl=26 ce qui correspond à "There was a problem reading a local file or an error returned by the read callback."
Avez-vous une idée pour m'aider ?

Cordialement