2010-05-30 23 views
5

Nunca he hecho ningún curl antes, así que estoy en necesidad de alguna ayuda.cURL: de PHP a 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); 
?> 

cómo hacer que el mismo script en bash?

Respuesta

5

Creo que es:

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

El -F utiliza form-data de varias partes /, que la libcurl interfaz PHP usa si se pasa una matriz de CURLOPT_POSTFIELDS. Cada -F es un campo separado. libcurl lee el archivo que especifique con @.

+0

gracias funciona^_^ – flienteen

0

Me creer que su gusto por lo

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

curl $server $opts $data 

no estoy 100% por desgracia, pero es algo a lo largo de estas líneas.

+0

No puede haber espacios alrededor del signo igual en Bash. –

+0

yup lo escribí, he estado trabajando en PHP últimamente por eso:/my bad – RobertPitt