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


Posted in PHP onOctober 30, 2013

服务器端:

<?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 相关文章推荐
安装PHP可能遇到的问题“无法载入mysql扩展” 的解决方法
Apr 16 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
php中mkdir函数用法实例分析
Nov 15 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
Codeigniter校验ip地址的方法
Mar 21 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
PHPCMS手机站伪静态设置详细教程
Feb 06 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
PHP设计模式之建造者模式定义与用法简单示例
Aug 13 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
Sep 29 PHP
使用Curl进行抓取远程内容时url中文编码问题示例探讨
Oct 29 #PHP
is_uploaded_file函数引发的不能上传文件问题
Oct 29 #PHP
单点登录 Ucenter示例分析
Oct 29 #PHP
php中过滤非法字符的具体实现
Oct 29 #PHP
PHP时间戳 strtotime()使用方法和技巧
Oct 29 #PHP
PHP页面中文乱码分析
Oct 29 #PHP
php四种基础算法代码实例
Oct 29 #PHP
You might like
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
JavaScript与Div对层定位和移动获得坐标的实现代码
2010/09/08 Javascript
基于jquery跨浏览器显示的file上传控件
2011/10/24 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
js库Modernizr的介绍和使用
2015/05/07 Javascript
第五篇Bootstrap 排版
2016/06/21 Javascript
json对象转为字符串,当做参数传递时加密解密的实现方法
2016/06/29 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
Vue2.0组件间数据传递示例
2017/03/07 Javascript
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
vue二级路由设置方法
2018/02/09 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
echarts 使用formatter 修改鼠标悬浮事件信息操作
2020/07/20 Javascript
解决vue-loader加载不上的问题
2020/10/21 Javascript
python字典序问题实例
2014/09/26 Python
对python 合并 累加两个dict的实例详解
2019/01/21 Python
python 多个参数不为空校验方法
2019/02/14 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
Keras 在fit_generator训练方式中加入图像random_crop操作
2020/07/03 Python
numpy实现RNN原理实现
2021/03/02 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
汽车专业学生自我评价
2014/01/19 职场文书
庆元旦广播稿
2014/02/10 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
处罚决定书范文
2015/06/24 职场文书
致运动员的广播稿
2015/08/19 职场文书
Windows server 2012 配置Telnet以及用法详解
2022/04/28 Servers