$value) { $fieldsData .= $boundary.CRLF; $fieldsData .= "Content-Disposition: form-data; name=\"".$field."\"".DCRLF; $fieldsData .= urlencode($value).CRLF; } $contentType = function_exists("mime_content_type") ? mime_content_type($filePath) : "application/octet-stream"; $fileHeaders = $boundary.CRLF; $fileHeaders .= "Content-Disposition: form-data; name=\"".$fileField."\"; filename=\"".$fileName."\"".CRLF; $fileHeaders .= "Content-Type: ".$contentType.DCRLF; $fileHeadersTail = CRLF.$boundary."--".CRLF.CRLF; $contentLength = strlen($fieldsData) + strlen($fileHeaders) + filesize($filePath) + strlen($fileHeadersTail); $headers = "POST $path HTTP/1.1".CRLF; $headers .= "Host: ".$host.CRLF; $headers .= "Connection: Close".CRLF; $headers .= "Pragama: no-cache".CRLF; $headers .= "Cache-Control: no-cache".CRLF; $headers .= "Accept: */*".CRLF; $headers .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7".CRLF; $headers .= "Referer: ".$host.CRLF; $headers .= "Content-type: multipart/form-data; boundary=".$boundary.CRLF; $headers .= "Content-length: ".$contentLength.CRLF.CRLF; $headers .= $fieldsData; $headers .= $fileHeaders; $fp = fsockopen($host, $port); //$fp = fopen("output.txt", "w"); fputs($fp, $headers); $fp2 = fopen($filePath, "rb"); while(!feof($fp2)) fputs($fp, fgets($fp2, 4096)); fclose($fp2); fputs($fp, $fileHeadersTail); $serverResponse = ""; while(!feof($fp)) $serverResponse .= fgets($fp, 4096); fclose($fp); return $serverResponse; } ?>