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过滤危险html代码的函数
Jul 22 PHP
PHP 编程的 5个良好习惯
Feb 20 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
Jul 15 PHP
php防止sql注入代码实例
Dec 18 PHP
PHP中的Memcache详解
Apr 05 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
php中unserialize返回false的解决方法
Sep 22 PHP
php 魔术方法详解
Nov 11 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
Feb 10 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
Yii 框架使用Forms操作详解
May 18 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入门学习知识点七 PHP函数的基本应用
2011/07/14 PHP
php读取文件内容到数组的方法
2015/03/16 PHP
JavaScript delete操作符应用实例
2009/01/13 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
range 标准化之获取
2011/08/28 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
JS实现简单的tab切换选项卡效果
2016/09/21 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
JS实现的简单拖拽功能示例
2017/03/13 Javascript
jQuery模拟爆炸倒计时功能实例代码
2017/08/21 jQuery
对于js垃圾回收机制的理解
2017/09/14 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
2018/03/15 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
vue+element tabs选项卡分页效果
2020/06/29 Javascript
详解react组件通讯方式(多种)
2020/05/06 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
python妙用之编码的转换详解
2017/04/21 Python
利用Django提供的ModelForm增删改数据的方法
2019/01/06 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
Python实现最常见加密方式详解
2019/07/13 Python
Python如何基于selenium实现自动登录博客园
2019/12/16 Python
Python中itertools的用法详解
2020/02/07 Python
加热夹克:RAVEAN
2018/10/19 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
Linux内核产生并发的原因
2012/07/13 面试题
暑期社会实践感言
2014/02/25 职场文书
班主任与学生安全责任书
2014/07/25 职场文书
干部个人对照检查材料
2014/08/25 职场文书
2015中学学校工作总结
2015/07/20 职场文书
致创业的您:这类人不适合餐饮创业
2019/08/19 职场文书
一小时迅速入门Mybatis之bind与多数据源支持 Java API
2021/09/15 Javascript
Python可变集合和不可变集合的构造方法大全
2021/12/06 Python
Tomcat starup.bat 脚本实现开机自启动
2022/04/20 Servers
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers