/** * Convenience method for adding file part. * * @param string $fname file location of file part. * * @return void */ public function addFilePart($fname) { // base name $bname = basename($fname); $cDisposition = 'form-data;'; $cDisposition .= ' name="x-voice";'; $cDisposition .= ' filename="' . $bname . '"'; // part headers $pheaders = array(); $pheaders['Content-Disposition'] = $cDisposition; $pheaders['Content-Type'] = Util::getFileMIMEType($fname); $pheaders['Content-Transfer-Encoding'] = 'binary'; $fileResource = fopen($fname, 'r'); if (!$fileResource) { throw new RuntimeException('Could not open file ' . $fname); } $fileBinary = fread($fileResource, filesize($fname)); fclose($fileResource); $this->addPart($pheaders, $fileBinary); }