source: spip-zone/_plugins_/phpcurl/phpcurl_fonctions.php @ 104190

Last change on this file since 104190 was 104190, checked in by guy.cesaro@…, 2 years ago

tentative de plugin générique pour utiliser curl quand il est disponible

  • Property svn:executable set to *
File size: 2.1 KB
Line 
1<?php
2
3function phpcurl_get($url, $data_string = NULL, $content_type = 'Content-Type: application/json', $silent=false){
4
5        $ch = curl_init($url);
6        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
7        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
8        if(!is_null($data_string)) {
9                curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);     
10                curl_setopt($ch, CURLOPT_HTTPHEADER, array(
11                        $content_type,
12                        'Content-Length: ' . strlen($data_string)) 
13                );
14        }
15        $result = curl_exec($ch);
16        if(!$silent) {
17                return $result;
18        }
19}
20
21function phpcurl_post($url, $data_string = NULL, $content_type = 'Content-Type: application/json', $silent=false){
22
23        $ch = curl_init($url);
24        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
25        curl_setopt($ch, CURLOPT_FAILONERROR, true);
26        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
27        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
28        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
29                $content_type,
30                'Content-Length: ' . strlen($data_string)) 
31        ); 
32         
33        $result = curl_exec($ch);
34        if(!$silent) {
35                return $result;
36        }
37}
38
39function phpcurl_put($url, $data_string = NULL, $content_type = 'Content-Type: application/json', $silent=false){
40
41        $ch = curl_init($url);
42        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); 
43        curl_setopt($ch, CURLOPT_FAILONERROR, true);
44        curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
45        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
46        curl_setopt($ch, CURLOPT_HTTPHEADER, array(
47                $content_type,
48                'Content-Length: ' . strlen($data_string)) 
49        ); 
50         
51        $result = curl_exec($ch);
52        if(!$silent) {
53                return $result;
54        }
55}
56
57function phpcurl_delete($url, $data_string = NULL, $content_type = 'Content-Type: application/json', $silent=false){
58
59        $ch = curl_init($url);
60        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); 
61        curl_setopt($ch, CURLOPT_FAILONERROR, true);
62        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
63        if(!is_null($data_string)) {
64                curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
65                curl_setopt($ch, CURLOPT_HTTPHEADER, array(
66                        $content_type,
67                        'Content-Length: ' . strlen($data_string)) 
68                ); 
69        }
70        $result = curl_exec($ch);
71        if(!$silent) {
72                return $result;
73        }
74}
Note: See TracBrowser for help on using the repository browser.