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 相关文章推荐
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
Jul 24 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
PHP实现多文件上传的方法
Jul 08 PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 PHP
php版微信公众平台接口开发之智能回复开发教程
Sep 22 PHP
PHP实现批量删除(封装)
Apr 28 PHP
phpStudy配置多站点多域名和多端口的方法
Sep 01 PHP
简单实现php上传文件功能
Sep 21 PHP
Laravel 中使用简单的方法跟踪用户是否在线(推荐)
Oct 30 PHP
PHP后门隐藏的一些技巧总结
Nov 04 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数据库操作方法(MYSQL版)
2011/06/08 PHP
php中引用符号(&amp;)的使用详解
2013/11/13 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
通过PHP实现用户注册后邮箱验证激活
2020/11/10 PHP
浅谈jQuery事件绑定原理
2015/01/02 Javascript
jquery移动节点实例
2015/01/14 Javascript
Javascript非构造函数的继承
2015/04/27 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
JavaScript中removeChild 方法开发示例代码
2016/08/15 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
Angularjs的启动过程分析
2017/07/18 Javascript
详解React native全局变量的使用(跨组件的通信)
2017/09/07 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
详解JS数值Number类型
2018/02/07 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
为nuxt项目写一个面包屑cli工具实现自动生成页面与面包屑配置
2019/09/29 Javascript
js实现选项卡效果
2020/03/07 Javascript
基于VUE实现简单的学生信息管理系统
2021/01/13 Vue.js
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
基于python的Tkinter实现一个简易计算器
2015/12/31 Python
Python中防止sql注入的方法详解
2017/02/25 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
python 画函数曲线示例
2019/12/04 Python
python GUI库图形界面开发之PyQt5动态加载QSS样式文件
2020/02/25 Python
Python龙贝格法求积分实例
2020/02/29 Python
Python常用数据分析模块原理解析
2020/07/20 Python
HTML5实现页面切换激活的PageVisibility API使用初探
2016/05/13 HTML / CSS
瑞典快乐袜子:Happy Socks
2018/02/16 全球购物
法国发饰品牌:Alexandre De Paris
2018/12/04 全球购物
《石榴》教学反思
2014/03/02 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js
总结Pyinstaller打包的高级用法
2021/06/28 Python
Go Plugins插件的实现方式
2021/08/07 Golang
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python