I’ve never done any curl before so am in need of some help. I’ve tried to work this out from examples but cannot get my head around it!
I have a curl command that I can successfully run from a linux(ubuntu) command line that puts a file to a wiki through an api.
I would need to incorporate this curl command in a PHP script I’m building.
How can I translate this curl command so that it works in a PHP script?
curl -b cookie.txt -X PUT --data-binary "@test.png" -H "Content-Type: image/png" "http://hostname/@api/deki/pages/=TestPage/files/=test.png" -0
cookie.txt contains the authentication but I don’t have a problem putting this in clear text in the script as this will be run by me only.
@test.png must be a variable such as $filename
http://hostname/@api/deki/pages/=TestPage/files/= must be a variable such as $pageurl
Thanks for any help.
Advertisement
Answer
a starting point:
<?php $pageurl = "http://hostname/@api/deki/pages/=TestPage/files/="; $filename = "test.png"; $theurl = $pageurl . $filename; $ch = curl_init($theurl); curl_setopt($ch, CURLOPT_COOKIE, ...); // -b curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); // -X curl_setopt($ch, CURLOPT_BINARYTRANSFER, TRUE); // --data-binary curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: image/png']); // -H curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); // -0 ... ?>
See also: http://www.php.net/manual/en/function.curl-setopt.php