美工统筹SEO,为企业电子商务营销助力!
php操纵fsockopen GET/POST提交表单及上传文件
一佰互联网站建造(www.taishanly.com) 宣布日期 2020-04-25 14:41:33 阅读数: 115
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 "; $out .= "Host: ${host} "; $out .= "Connection:close "; fputs($fp, $out); // get response $response = ""; while($row=fread($fp, 4096)){ $response .= $row; } fclose($fp); $pos = strpos($response, " "); $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 "; $out .= "Host:${host} "; $out .= "Content-type:application/x-www-form-urlencoded "; $out .= "Content-length:".strlen($data)." "; $out .= "Connection:close "; $out .= "${data}"; fputs($fp, $out); // get response $response = ""; while($row=fread($fp, 4096)){ $response .= $row; } fclose($fp); $pos = strpos($response, " "); $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 "; // form data foreach($form_data as $key=>$val){ $data .= "Content-Disposition: form-data; name="".$key."" "; $data .= "Content-type:text/plain "; $data .= rawurlencode($val)." "; $data .= "--$boundary "; } // file data foreach($file_data as $file){ $data .= "Content-Disposition: form-data; name="".$file["name"].""; filename="".$file["filename"]."" "; $data .= "Content-Type: ".mime_content_type($file["path"])." "; $data .= implode("",file($file["path"]))." "; $data .= "--$boundary "; } $data .="-- "; $out = "POST ${url} HTTP/1.1 "; $out .= "Host:${host} "; $out .= "Content-type:multipart/form-data; boundary=$boundary "; // multipart/form-data $out .= "Content-length:".strlen($data)." "; $out .= "Connection:close "; $out .= "${data}"; fputs($fp, $out); // get response $response = ""; while($row=fread($fp, 4096)){ $response .= $row; } fclose($fp); $pos = strpos($response, " "); $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."">"; } ?>
以上便是本文的全数内容,但愿对大师的进修有所赞助,也但愿大师多多撑持网页设想。