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 相关文章推荐
写一个用户在线显示的程序
Oct 09 PHP
php出现Cannot modify header information问题的解决方法大全
Apr 09 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
PHP中使用cURL实现Get和Post请求的方法
Mar 13 PHP
CI框架中zip类应用示例
Jun 17 PHP
php使用array_search函数实现数组查找的方法
Jun 12 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
thinkPHP5.0框架开发规范简介
Mar 25 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
Dec 31 PHP
基于laravel Request的所有方法详解
Sep 29 PHP
php 实现银联商务H5支付的示例代码
Oct 12 PHP
PHPstorm启用自动换行的方法详解(IDE)
Sep 17 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程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
老生常谈文本文件和二进制文件的区别
2017/02/27 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
php使用imagecopymerge()函数创建半透明水印
2018/01/25 PHP
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
JavaScript排序算法之希尔排序的2个实例
2014/04/04 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
jQuery点击导航栏选中更换样式的实现代码
2017/01/23 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
js截取字符串功能的实现方法
2017/09/27 Javascript
ES6中字符串string常用的新增方法小结
2017/11/07 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
vue2.0父子组件间传递数据的方法
2018/08/16 Javascript
Vue2.x通用编辑组件的封装及应用详解
2019/05/28 Javascript
[01:20]DOTA2 齐天大圣至宝动态展示
2016/12/13 DOTA
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
Python yield 小结和实例
2014/04/25 Python
使用C++扩展Python的功能详解
2018/01/12 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Python Selenium 之关闭窗口close与quit的方法
2019/02/13 Python
python算法与数据结构之单链表的实现代码
2019/06/27 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
Django ORM 自定义 char 类型字段解析
2019/08/09 Python
python实现学生管理系统开发
2020/07/24 Python
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
介绍下Java的输入输出流
2014/01/22 面试题
面向对象编程的优势是什么
2015/12/17 面试题
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
农民工创业典型事迹
2014/01/25 职场文书
年终晚会主持词
2014/03/25 职场文书
产品生产计划书
2014/05/07 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
2015年档案管理员工作总结
2015/05/13 职场文书
高中班主任心得体会
2016/01/07 职场文书
Nginx快速入门教程
2021/03/31 Servers