ホームページ >バックエンド開発 >PHPチュートリアル >php另类上传图片的方法(PHP用Socket上传图片)_PHP

php另类上传图片的方法(PHP用Socket上传图片)_PHP

WBOY
WBOYオリジナル
2016-06-01 11:58:21891ブラウズ


服务器端:
复制代码 代码如下:
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><br>客户端:<br><u>复制代码</u> 代码如下:<br><?php <BR>$errno='001';<br>$errstr="socket file error";</p>
<p>$fp = fsockopen("192.168.3.57", 1337, $errno, $errstr, 10);<br>if (!$fp) {    <br>    echo "$errstr ($errno)<br>\n";    <br>} else {    <br>    $str = "filename:socket_file.bmp";    <br>    fwrite($fp, $str);    $out = file_get_contents('../../iphone3G.bmp');    <br>   if($out){<br>    fwrite($fp, $out);    <br>    fwrite($fp,'over');<br>   echo "上传成功";<br>   }<br><br>}<br>fclose($fp);<br>?><br></p>
    
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。