Beispiel #1
0
 function BuildPostData($dicPostData, $dicFiles, &$contentType)
 {
     $isMultipart = is_array($dicFiles) && count($dicFiles) > 0;
     $result = "";
     // ** Multipart post
     if ($isMultipart) {
         $boundary = "----CrankyAdsBrowserBoundary2a84c2ab17e842b590ca5a0e43e756fa";
         $contentType = "multipart/form-data; boundary=" . $boundary;
         // Write post data (in multipart format)
         if (is_array($dicPostData)) {
             foreach ($dicPostData as $key => $value) {
                 if ($this->bPostDataConvertUnderscoreToPeriod) {
                     $key = str_replace("_", ".", $key);
                 }
                 $result .= CrankyAdsHelper::BuildFormDataMultipart($key, $value, $boundary);
             }
         }
         // Write files (in multipart format)
         if (is_array($dicFiles)) {
             foreach ($dicFiles as $key => $value) {
                 if ($this->bPostDataConvertUnderscoreToPeriod) {
                     $key = str_replace("_", ".", $key);
                 }
                 if ($value["name"] != null) {
                     $result .= "--" . $boundary . "\r\n";
                     $result .= "Content-Disposition: form-data; name=\"" . $key . "\"; filename=\"" . $value["name"] . "\"\r\n";
                     $result .= "Content-Type: " . $value["type"];
                     $result .= "\r\n\r\n";
                     $fileContent = file_get_contents($value["tmp_name"]);
                     $result .= $fileContent;
                     $result .= "\r\n";
                 }
             }
         }
         // Terminator
         $result .= "--" . $boundary . "--\r\n";
     } else {
         $contentType = "application/x-www-form-urlencoded";
         foreach ($dicPostData as $key => $value) {
             if ($this->bPostDataConvertUnderscoreToPeriod) {
                 $key = str_replace("_", ".", $key);
             }
             if (strlen($result) > 0) {
                 $result .= "&";
             }
             $result .= CrankyAdsHelper::BuildFormDataUrlEncoded($key, $value);
         }
     }
     return $result;
 }
Beispiel #2
0
 static function BuildFormDataMultipart($key, $value, $boundary)
 {
     $result = "";
     // ** Array $value
     if (is_array($value)) {
         // * Create and Encode a composite key for each array value
         foreach ($value as $valueKey => $valueValue) {
             // Create the composite key
             $compositeKey = $key;
             if (preg_match("/^\\d+\$/i", $valueKey)) {
                 // int Array Key
                 $compositeKey .= "[{$valueKey}]";
             } else {
                 // string Array Key
                 $compositeKey .= ".{$valueKey}";
             }
             // Encode this Value
             $result .= CrankyAdsHelper::BuildFormDataMultipart($compositeKey, $valueValue, $boundary);
         }
     } else {
         $result .= "--" . $boundary . "\r\n";
         $result .= "Content-Disposition: form-data; name=\"" . $key . "\"";
         $result .= "\r\n\r\n";
         $result .= $value;
         $result .= "\r\n";
     }
     return $result;
 }