PHP响应post请求上传文件的方法

这篇文章主要介绍了PHP响应post请求上传文件的方法,涉及php针对post传输数据处理的相关技巧,需要的朋友可以参考下。

本文实例讲述了PHP响应post请求上传文件的方法,分享给大家供大家参考,具体如下:

  1. function send_file($url, $post = '', $file = '') {
  2. $eol = "\r\n";
  3. $mime_boundary = md5 ( time () );
  4. $data = '';
  5. $confirmation = '';
  6. date_default_timezone_set ( "Asia/Shanghai" );
  7. $time = date ( "Y-m-d H:i:s " );
  8. $post ["filename"] = $file [filename];
  9. foreach ( $post as $key => $value ) {
  10. $data .= '--' . $mime_boundary . $eol;
  11. $data .= 'Content-Disposition: form-data; ';
  12. $data .= "name=" . $key . $eol . $eol;
  13. $data .= $value . $eol;
  14. }
  15. $data .= '--' . $mime_boundary . $eol;
  16. $data .= 'Content-Disposition: form-data; name=' . $file [name] . '; filename=' . $file [filename] . $eol;
  17. $data .= 'Content-Type: text/plain' . $eol;
  18. $data .= 'Content-Transfer-Encoding: binary' . $eol . $eol;
  19. $data .= $file [filedata] . $eol;
  20. $data .= "--" . $mime_boundary . "--" . $eol . $eol;
  21. $params = array ('http' => array ('method' => 'POST', 'header' => 'Content-Type: multipart/form-data;boundary=' . $mime_boundary . $eol, 'content' => $data ) );
  22. $ctx = stream_context_create ( $params );
  23. $response = file_get_contents ( $url, FILE_TEXT, $ctx );
  24. return $response;
  25. }

希望本文所述对大家PHP程序设计有所帮助。