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

yipeiwu_com6年前PHP代码库

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

function send_file($url, $post = '', $file = '') {
  $eol = "\r\n";
  $mime_boundary = md5 ( time () );
  $data = '';
  $confirmation = '';
  date_default_timezone_set ( "Asia/Shanghai" );
  $time = date ( "Y-m-d H:i:s " );
  $post ["filename"] = $file [filename];
  foreach ( $post as $key => $value ) {
    $data .= '--' . $mime_boundary . $eol;
    $data .= 'Content-Disposition: form-data; ';
    $data .= "name=" . $key . $eol . $eol;
    $data .= $value . $eol;
  }
  $data .= '--' . $mime_boundary . $eol;
  $data .= 'Content-Disposition: form-data; name=' . $file [name] . '; filename=' . $file [filename] . $eol;
  $data .= 'Content-Type: text/plain' . $eol;
  $data .= 'Content-Transfer-Encoding: binary' . $eol . $eol;
  $data .= $file [filedata] . $eol;
  $data .= "--" . $mime_boundary . "--" . $eol . $eol;
  $params = array ('http' => array ('method' => 'POST', 'header' => 'Content-Type: multipart/form-data;boundary=' . $mime_boundary . $eol, 'content' => $data ) );
  $ctx = stream_context_create ( $params );
  $response = file_get_contents ( $url, FILE_TEXT, $ctx );
  return $response;
}

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

相关文章

PHP中overload与override的区别

override(重写,覆盖) 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存...

php字符串函数学习之substr()

<?php /* 定义和用法 substr() 函数返回提取的子字符串, 或者在失败时返回 FALSE。 语法 substr(string,start,length) 参数...

php单元测试phpunit入门实例教程

本文实例讲述了php单元测试phpunit。分享给大家供大家参考,具体如下: 这篇文章提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官...

php+redis实现消息队列功能示例

本文实例讲述了php+redis实现消息队列功能。分享给大家供大家参考,具体如下: 个人理解在项目中使用消息队列一般是有如下几个原因: 把瞬间服务器的请求处理换成异步处理,缓解服务器的压...

PHP学习笔记之三 数据库基本操作

下面是在Linux上登录mysql,创建数据库和创建表的过程。 yin@yin-Ubuntu10:~$ mysql -u root -p Enter password: Welcome...