2010-05-30 10 views
5

Je n'ai jamais fait de boucle avant donc j'ai besoin d'aide.cURL: de 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); 
?> 

comment faire le même script BASH?

Répondre

5

Je crois qu'il est:

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

Le -F utilise multipart/form-data, que l'interface PHP utilise libcurl si vous passez un tableau pour CURLOPT_POSTFIELDS. Chaque -F est un champ séparé. libcurl lit le fichier que vous spécifiez avec @.

+0

merci ça marche^_^ – flienteen

0

Je belive son comme si

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

curl $server $opts $data 

Je ne suis pas à 100%, mais, malheureusement, est quelque chose le long de ces lignes.

+0

Vous ne pouvez pas avoir des espaces autour du signe égal dans Bash. –

+0

yup je viens de taper, travailler sur PHP dernièrement c'est pourquoi:/ma mauvaise – RobertPitt