全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

php利用fsockopen GET/POST提交表单及上传文件

php利用fsockopen GET/POST提交表单及上传文件,具体内容如下

1.GET

get.php

<?php 
$host = 'demo.fdipzone.com'; 
$port = 80; 
$errno = ''; 
$errstr = ''; 
$timeout = 30; 
$url = '/socket/getapi.php'; 
 
$param = array( 
  'name' => 'fdipzone', 
  'gender' => 'man' 
); 
 
$url = $url.'?'.http_build_query($param); 
 
// create connect 
$fp = fsockopen($host, $port, $errno, $errstr, $timeout); 
 
if(!$fp){ 
  return false; 
} 
 
// send request 
$out = "GET ${url} HTTP/1.1\r\n"; 
$out .= "Host: ${host}\r\n"; 
$out .= "Connection:close\r\n\r\n"; 
 
fputs($fp, $out); 
 
// get response 
$response = ''; 
while($row=fread($fp, 4096)){ 
  $response .= $row; 
} 
 
fclose($fp); 
 
$pos = strpos($response, "\r\n\r\n"); 
$response = substr($response, $pos+4); 
 
echo $response; 
?> 

getapi.php

<?php 
$name = $_GET['name']; 
$gender = $_GET['gender']; 
 
echo 'name='.$name.'<br>'; 
echo 'gender='.$gender; 
?> 

2.POST

post.php

<?php 
$host = 'demo.fdipzone.com'; 
$port = 80; 
$errno = ''; 
$errstr = ''; 
$timeout = 30; 
$url = '/socket/postapi.php'; 
 
$param = array( 
  'name' => 'fdipzone', 
  'gender' => 'man', 
  'photo' => file_get_contents('photo.jpg') 
); 
 
$data = http_build_query($param); 
 
// create connect 
$fp = fsockopen($host, $port, $errno, $errstr, $timeout); 
 
if(!$fp){ 
  return false; 
} 
 
// send request 
$out = "POST ${url} HTTP/1.1\r\n"; 
$out .= "Host:${host}\r\n"; 
$out .= "Content-type:application/x-www-form-urlencoded\r\n"; 
$out .= "Content-length:".strlen($data)."\r\n"; 
$out .= "Connection:close\r\n\r\n"; 
$out .= "${data}"; 
 
fputs($fp, $out); 
 
// get response 
$response = ''; 
while($row=fread($fp, 4096)){ 
  $response .= $row; 
} 
 
fclose($fp); 
 
$pos = strpos($response, "\r\n\r\n"); 
$response = substr($response, $pos+4); 
 
echo $response; 
?>

postapi.php

<?php 
define('UPLOAD_PATH', dirname(__FILE__).'/upload'); 
 
$name = $_POST['name']; 
$gender = $_POST['gender']; 
$photo = $_POST['photo']; 
 
$filename = time().'.jpg'; 
file_put_contents(UPLOAD_PATH.'/'.$filename, $photo, true); 
 
echo 'name='.$name.'<br>'; 
echo 'gender='.$gender.'<br>'; 
echo '<img src="upload/'.$filename.'">'; 
?> 

3.上传文件

file.php

<?php 
$host = 'demo.fdipzone.com'; 
$port = 80; 
$errno = ''; 
$errstr = ''; 
$timeout = 30; 
$url = '/socket/fileapi.php'; 
 
$form_data = array( 
  'name' => 'fdipzone', 
  'gender' => 'man', 
); 
 
$file_data = array( 
  array( 
    'name' => 'photo', 
    'filename' => 'photo.jpg', 
    'path' =>'photo.jpg' 
  ) 
); 
 
// create connect 
$fp = fsockopen($host, $port, $errno, $errstr, $timeout); 
 
if(!$fp){ 
  return false; 
} 
 
// send request 
srand((double)microtime()*1000000); 
$boundary = "---------------------------".substr(md5(rand(0,32000)),0,10); 
 
$data = "--$boundary\r\n"; 
 
// form data 
foreach($form_data as $key=>$val){ 
  $data .= "Content-Disposition: form-data; name=\"".$key."\"\r\n"; 
  $data .= "Content-type:text/plain\r\n\r\n"; 
  $data .= rawurlencode($val)."\r\n"; 
  $data .= "--$boundary\r\n"; 
} 
 
// file data 
foreach($file_data as $file){ 
  $data .= "Content-Disposition: form-data; name=\"".$file['name']."\"; filename=\"".$file['filename']."\"\r\n"; 
  $data .= "Content-Type: ".mime_content_type($file['path'])."\r\n\r\n"; 
  $data .= implode("",file($file['path']))."\r\n"; 
  $data .= "--$boundary\r\n"; 
} 
 
$data .="--\r\n\r\n"; 
 
$out = "POST ${url} HTTP/1.1\r\n"; 
$out .= "Host:${host}\r\n"; 
$out .= "Content-type:multipart/form-data; boundary=$boundary\r\n"; // multipart/form-data 
$out .= "Content-length:".strlen($data)."\r\n"; 
$out .= "Connection:close\r\n\r\n"; 
$out .= "${data}"; 
 
fputs($fp, $out); 
 
// get response 
$response = ''; 
while($row=fread($fp, 4096)){ 
  $response .= $row; 
} 
 
fclose($fp); 
 
$pos = strpos($response, "\r\n\r\n"); 
$response = substr($response, $pos+4); 
 
echo $response; 
?> 

fileapi.php

<?php 
define('UPLOAD_PATH', dirname(__FILE__).'/upload'); 
 
$name = $_POST['name']; 
$gender = $_POST['gender']; 
 
$filename = time().'.jpg'; 
 
echo 'name='.$name.'<br>'; 
echo 'gender='.$gender.'<br>'; 
if(move_uploaded_file($_FILES['photo']['tmp_name'], UPLOAD_PATH.'/'.$filename)){ 
  echo '<img src="upload/'.$filename.'">'; 
} 
?> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# php  # fsockopen  # 表单  # 上传文件  # php实现表单提交上传文件功能  # JQuery打造PHP的AJAX表单提交实例  # php提交表单时判断 if($_POST[submit])与 if(isset($_POST[sub  # PHP 表单提交给自己  # PHP对表单提交特殊字符的过滤和处理方法汇总  # php不允许用户提交空表单(php空值判断)  # PHP防止表单重复提交的几种常用方法汇总  # php 多个submit提交表单 处理方法  # PHP如何通过表单直接提交大文件详解  # 具体内容  # 大家多多  # request  # send  # false  # HTTP  # Host  # return  # http_build_query  # man  # gender  # fp  # connect  # create  # strpos  # pos  # fclose  # _GET 


相关文章: 建站之星展会模板:智能建站与自助搭建高效解决方案  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  建站ABC备案流程中有哪些关键注意事项?  如何快速搭建高效可靠的建站解决方案?  临沂网站制作公司有哪些,临沂第四中学官网?  如何获取开源自助建站系统免费下载链接?  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  linux top下的 minerd 木马清除方法  学校免费自助建站系统:智能生成+拖拽设计+多端适配  上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?  如何用西部建站助手快速创建专业网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  建站之星各版本价格是多少?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何设置并定期更换建站之星安全管理员密码?  如何在Windows虚拟主机上快速搭建网站?  电脑免费海报制作网站推荐,招聘海报哪个网站多?  临沂网站制作企业,临沂第三中学官方网站?  如何选择高效可靠的多用户建站源码资源?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  大型企业网站制作流程,做网站需要注册公司吗?  如何在IIS中新建站点并配置端口与IP地址?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  盐城做公司网站,江苏电子版退休证办理流程?  微信小程序 input输入框控件详解及实例(多种示例)  建站之星如何优化SEO以实现高效排名?  定制建站价位费用解析与套餐推荐全攻略  如何快速登录WAP自助建站平台?  建站之星安装路径如何正确选择及配置?  定制建站模板如何实现SEO优化与智能系统配置?18字教程  网站制作新手教程,新手建设一个网站需要注意些什么?  制作旅游网站html,怎样注册旅游网站?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何在香港免费服务器上快速搭建网站?  西安大型网站制作公司,西安招聘网站最好的是哪个?  如何通过西部数码建站助手快速创建专业网站?  微课制作网站有哪些,微课网怎么进?  制作营销网站公司,淘特是干什么用的?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  模具网站制作流程,如何找模具客户?  常州企业建站如何选择最佳模板?  Android自定义控件实现温度旋转按钮效果  如何做静态网页,sublimetext3.0制作静态网页?  如何在腾讯云服务器快速搭建个人网站?  网站制作公司排行榜,四大门户网站排名?  如何快速查询网站的真实建站时间?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  导航网站建站方案与优化指南:一站式高效搭建技巧解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。