2010-05-30 7 views
5

Я никогда не делал завиток, поэтому мне нужна какая-то помощь.cURL: от PHP до BASH

PHP:

<?php 
$ch = curl_init(); 

$data = array(
     'uptype'=>'file', 
     'file'=>'@'.$argv[1], 
); 

curl_setopt($ch, CURLOPT_URL, 'http://my_site_ex/up.php'); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 

curl_exec($ch); 
curl_close($ch); 
?> 

как сделать такой же сценарий в BASH?

ответ

5

Я считаю, что это:

curl -F "uptype=file" -F "[email protected]$1" 'http://my_site_ex/up.php' 

-F использует многослойную/форм-данных, которую PHP интерфейс Libcurl использует, если вы передаете массив для CURLOPT_POSTFIELDS. Каждый -F является отдельным полем. libcurl читает файл, указанный вами с помощью @.

+0

спасибо, что работает^_^ – flienteen

0

Я верю его как так

data='-F "uptype=file" F "[email protected]$1"' 
server="http://my_site_ex:8080/up.php" 
opts="-v" 

curl $server $opts $data 

Im не 100%, к сожалению, но его что-то вдоль этих линий.

+0

Вы не можете иметь пробелы вокруг знака равенства в Bash. –

+0

yup Я просто набрал его, работал на PHP в последнее время, поэтому:/my bad – RobertPitt

Смежные вопросы