首页  >  文章  >  后端开发  >  php另类上传图片的方法(PHP用Socket上传图片)_php实例

php另类上传图片的方法(PHP用Socket上传图片)_php实例

WBOY
WBOY原创
2016-05-17 08:53:57995浏览


服务器端:

复制代码 代码如下:

set_time_limit(10);
//* 设置不显示任何错误 */
//error_reporting(0);

function varinfo($str) {
echo "

";<br>var_dump($str);<br>echo "<pre class="brush:php;toolbar:false">";<br>}
<p>$commonProtocol = getprotobyname("tcp");<br>$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);<br>if ($socket) {<br>$result = socket_bind($socket, '192.168.3.57', 1337);<br>if ($result) {<br>   $result = socket_listen($socket, 5);<br>   if ($result) {<br>    echo "监听成功";<br>   }<br>}<br>}else{<br>echo "监听失败";<br>}</p>
<p>//$path = "/home/upload/";<br>$path = "e://web//";</p>
<p>while (true)   {   <br>$connection = socket_accept($socket);<br>if($connection){   <br>   $msg = "telnet succeed!\r\n";<br>   socket_write($connection, $msg, strlen($msg)); <br><br>     $BufferPond = array();   <br>     $buffer = '';</p>
<p>     while($flag = socket_recv($connection, $buffer, 1024, 0)){    <br>          if (false !== strpos($buffer,'filename:')){   <br>             $filename = substr($buffer,9);<br>             $filename = $path.$filename;<br>             $fp = fopen($filename,"wb");<br>             continue;    <br>          }    <br>        fwrite($fp,$buffer);<br>     }<br>     fclose($fp);<br>     socket_close($connection);    <br>}    <br>}    <br>socket_close($socket);   <br>?><br></p>

客户端:
复制代码 代码如下:

$errno='001';
$errstr="socket file error";

$fp = fsockopen("192.168.3.57", 1337, $errno, $errstr, 10);
if (!$fp) {   
    echo "$errstr ($errno)
\n";   
} else {   
    $str = "filename:socket_file.bmp";   
    fwrite($fp, $str);    $out = file_get_contents('../../iphone3G.bmp');   
   if($out){
    fwrite($fp, $out);   
    fwrite($fp,'over');
   echo "上传成功";
   }

}
fclose($fp);
?>

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn