PHP用Socket上传图片

王朝php·作者佚名  2008-12-19
窄屏简体版  字體: |||超大  

服务器端:

<?php

set_time_limit(10);

//* 设置不显示任何错误 */

//error_reporting(0);

function varinfo($str) {

echo "<pre>";

var_dump($str);

echo "<pre>";

}

$commonProtocol = getprotobyname("tcp");

$socket = socket_create(AF_INET, SOCK_STREAM, $commonProtocol);

if ($socket) {

$result = socket_bind($socket, '192.168.3.57', 1337);

if ($result) {

$result = socket_listen($socket, 5);

if ($result) {

echo "监听成功";

}

}

}else{

echo "监听失败";

}

//$path = "/home/upload/";

$path = "e://web//";

while (true) {

$connection = socket_accept($socket);

if($connection){

$msg = "telnet succeed!\r\n";

socket_write($connection, $msg, strlen($msg));

$BufferPond = array();

$buffer = '';

while($flag = socket_recv($connection, $buffer, 1024, 0)){

if (false !== strpos($buffer,'filename:')){

$filename = substr($buffer,9);

$filename = $path.$filename;

$fp = fopen($filename,"wb");

continue;

}

fwrite($fp,$buffer);

}

fclose($fp);

socket_close($connection);

}

}

socket_close($socket);

?>

客户端:

<?php

$errno='001';

$errstr="socket file error";

$fp = fsockopen("192.168.3.57", 1337, $errno, $errstr, 10);

if (!$fp) {

echo "$errstr ($errno)<br />\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);

?>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航