日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

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

發(fā)布時間:2024/9/20 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 利用fsockopen GET/POST 提交表单及上传文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.GET

get.php

[php]?view plaincopy
  • <?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]?view plaincopy
  • <?php??
  • $name?=?$_GET['name'];??
  • $gender?=?$_GET['gender'];??
  • ??
  • echo?'name='.$name.'<br>';??
  • echo?'gender='.$gender;??
  • ?>??
  • 2.POST

    post.php

    [php]?view plaincopy
  • <?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]?view plaincopy
  • <?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]?view plaincopy
  • <?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]?view plaincopy
  • <?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 GET/POST 提交表单及上传文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。