2010-05-30 12 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); 
?> 

कैसे मार में एक ही स्क्रिप्ट बनाने के लिए?

उत्तर

5

मेरा मानना ​​है कि यह है:

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

एफ बहुखण्डीय/फार्म-डेटा है, जो PHP अंतरफलक libcurl का उपयोग करता है, तो आप CURLOPT_POSTFIELDS के लिए एक सरणी पारित उपयोग करता है। प्रत्येक-एफ एक अलग क्षेत्र है। 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 

इम% नहीं 100 दुर्भाग्य से, लेकिन इन पंक्तियों के साथ अपने कुछ belive।

+0

आपके पास बैश में बराबर चिह्न के आसपास रिक्त स्थान नहीं हो सकते हैं। –

+0

yup मैंने अभी इसे टाइप किया है, हाल ही में PHP पर काम कर रहा है इसलिए:/मेरा बुरा – RobertPitt