网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > PHP技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用php或js获取图片大小,高宽尺寸..
.WML,Apache,和 PHP 的介绍.
.PHP5中新增加的日期(date)函数的.
.UPDATE注射(mysql+php)的两个模式.
.PHP的正则处理函数总结分析.
.用 PHP V5 开发多任务应用程序.
.PHP伪造referer实例代码.
.根据模板文件生成一个静态html文.
.初学者学习PHP开发应该掌握的几段.
.PHP E-mail邮箱正则.
.使用php的zlib压缩和解压缩swf文.
.phpMyAdmin安装注意事项.
.用PHP4访问Oracle815 .
.PHP中GET变量的使用.
.PHP强制对象类型之instanceof操作.
.PEAR:常用模块.
.NuSOAP与PHPRPC比较.
.WINDOWS服务器安装多套PHP的另类.
.模拟SQLSERVER的两个函数:datea.
.实现分十页分向前十页向后十页的.

PHP用Socket上传图片

发表日期:2008-12-18


服务器端:

<?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);
?>

上一篇:用PHP的Socket实现HTTP请求 人气:55
下一篇:用PHP的Socket建立自己的聊天室服务器 人气:72
浏览全部PHP的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐