Преобразуйте ЗАВИХРЕНИЕ командной строки в ЗАВИХРЕНИЕ PHP

Я никогда не делал никакого завихрения, прежде чем так будут нуждаться в некоторой справке. Я попытался работать это из примеров, но не могу получить голову вокруг этого!

У меня есть вихревая команда, что я могу успешно выполнить из Linux (человечность) командную строку, которая помещает файл в Wiki через API.

Я должен был бы включить эту вихревую команду в Сценарий PHP, который я создаю.

Как я могу перевести эту вихревую команду так, чтобы она работала в Сценарии PHP?

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 содержит аутентификацию, но у меня нет проблемы при помещении этого в открытый текст в сценарии, когда это будет выполнено мной только.

@test.png должен быть переменной, такой как $filename

http://имя узла / api/deki/pages / = TestPage/files / = должен быть переменной, такой как $pageurl

Спасибо за любую справку.

33
задан miku 21 December 2009 в 12:02
поделиться

3 ответа

отправная точка:

<?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

...
?>

См. Также: http://www.php.net/manual/en/function.curl-setopt.php

29
ответ дан 27 November 2019 в 18:10
поделиться

для этой цели была добавлена ​​опция --libcurl, хотя она и делает программу на C, я думаю, ее будет довольно легко перевести на PHP

2
ответ дан 27 November 2019 в 18:10
поделиться

Попробуйте:

$cmd='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';
exec($cmd,$result);
6
ответ дан 27 November 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: