how to send a multipart post (to send images) as a soap packet ?

Hi Everyone,

I want to upload images to some server using multipart post request. I am using PHP/cURL to send soap request envelopes

Any help would be very appreciated.

Amjad
sigmatec_pkAsked:
Who is Participating?
 
sigmatec_pkConnect With a Mentor Author Commented:

<?php 
$docurl = curl_init(); 
curl_setopt($docurl, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($docurl, CURLOPT_URL, "http://site.com/upload.php"); 
curl_setopt($docurl, CURLOPT_VERBOSE, 1); 
curl_setopt($docurl, CURLOPT_HEADER, 1); 
curl_setopt($docurl, CURLOPT_POST, 1); 
curl_setopt($docurl, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($docurl, CURLOPT_FOLLOWLOCATION, 1); 
curl_setopt($docurl, CURLOPT_POSTFIELDS, array("userfile"=>"{@picture.JPG}")); 
$webpage = curl_exec($docurl); 
echo "$webpage"; 
curl_close($docurl); 
?> 

Open in new window

0
 
youssefomarCommented:
Here is a sample of uploading 2 images, hopefully it will help:

You need to files, one to select the images ( select.html ) , and the other to upload them ( uploader.php )

// select.html
<html>

<bidy>
<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a files to upload:
<br/><input name="uploadedfile1" type="file" />
<br/><input name="uploadedfile2" type="file" />

<br/><input type="submit" value="Upload File" />
</form>
</body>
</html>




// uploader.php :
<?
$target_path = "/cb/web/htdocs/fileTest/uploads/";

for($i=1; $i<=2; $i++){
   $target_path = $target_path . basename( $_FILES['uploadedfile'.$i]['name']);
   if(move_uploaded_file($_FILES['uploadedfile'.$i]['tmp_name'], $target_path)) {
      echo "The file ".  basename( $_FILES['uploadedfile'.$i]['name'])." has been uploaded";
   }else{
      echo "There was an error uploading the file, please try again!";
   }
}

?>

Open in new window

0
 
youssefomarCommented:
a problem with the php code, use this one:

// uploader.php :
<?
$target = "/cb/web/htdocs/fileTest/uploads/";

for($i=1; $i<=2; $i++){
   $target_path = $target . basename( $_FILES['uploadedfile'.$i]['name']);
   if(move_uploaded_file($_FILES['uploadedfile'.$i]['tmp_name'], $target_path)) {
      echo "The file ".  basename( $_FILES['uploadedfile'.$i]['name'])." has been uploaded";
   }else{
      echo "There was an error uploading the file, please try again!";
   }
}

?>

Open in new window

0
All Courses

From novice to tech pro — start learning today.