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

服务器端:

代码如下:

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

转载于:https://www.cnblogs.com/lemon66/p/4102736.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472788.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java会被淘汰吗_Java不会被淘汰的12个原因

如今&#xff0c;面对曾经在程序员中被各种新技术掩盖直至堙灭的技术值得怀念。犹如COBOL这当年被老程序员们尊为神器的语言如今也基本没有价值。而Java作为现代程序员的中坚力量在这点上或许会成为下一个COBOL。有关JAVA的技术卖出多少本书已经是一个很久远的记忆了。现处中年…

Java 关于类的专题

文章目录1. Object 类2. 内部类3. 覆写 Object 类的 equals 方法4. 接口对象实例化5. this() 调用无参构造方法6. static 属性所有对象共享一份7. static 方法不能调用 非static 属性8. 静态代码块9. final 关键字10. instanceof 关键字1. Object 类 所有的类都是继承于 Objec…

pythonmain是什么意思_Python中if __name__ == __main__详细解释

想必很多初次接触python都会见到这样一个语句&#xff0c;if __name__ "__main__"&#xff1a; 那么这个语句到底是做什么用的呢&#xff1f;在解释之前&#xff0c;首先要声明的是&#xff0c;不管你是多么小白&#xff0c;你一定要知道的是&#xff1a; 1.python文…

java操作redis的操作_Java操作redis简单示例

第一&#xff1a;安装Redis首先我们要安装Redis&#xff0c;就像我们操作数据库一样&#xff0c;在操作之前肯定要先创建好数据库的环境。Redis的下载可以百度一下&#xff0c;或者打开下面的下载链接&#xff1a;https://github.com/MSOpenTech/redis也可以从我的百度网盘下载…

myeclipse启动报JVM terminated. Exit code=1

报错信息如图&#xff1a; 解决办法&#xff1a; 删除当前workspaces下文件夹&#xff0c;路径为&#xff1a;%Workspaces%/.metadata/.plugins/org.eclipse.core.runtime转载于:https://www.cnblogs.com/tancp/p/4102866.html

Java 常用类库

文章目录1. String、StringBuffer2. 基本数据类3. System 类4. Runtime 类5. Date、Calendar、DateFormat 类6. Math、Random 类7. hashCode() 方法8. 对象克隆1. String、StringBuffer public class testString {public static void main(String [] args){String s "Mi…

git如何选择性合并_小姐姐用 10 张动图,教会你 Git 命令使用

优质文章&#xff0c;第一时间送达&#xff01;来源&#xff1a;机器之心git merge、git rebase、git reset、git revert、git fetch、git pull、git reflog……你知道这些 git 命令执行的究竟是什么任务吗&#xff1f;如果你还有些分不清楚&#xff0c;那千万不能错过这篇文章…

传智播客java测试题_传智播客Java基础综合测试题

传智播客Java基础综合测试题传智播客Java基础综合测试题第一关1.动手完成 Java 开发包的安装&#xff0c;并设置环境变量 Path 。2.编写一个程序&#xff0c;要求程序运行后在屏幕上输出&#xff1a;***************************This is my first java program!***************…

为何Spark更高效?

learn from 从0开始学大数据&#xff08;极客时间&#xff09; Spark 的计算阶段 Hadoop MapReduce 简单粗暴地根据 shuffle 将大数据计算分成 Map 和 Reduce 两个阶段&#xff0c;然后就算完事了。 而 Spark 更细腻一点&#xff0c;将前一个的 Reduce 和后一个的 Map 连接起来…

iphone个系列尺寸_最值得入手的4款iPhone,都是内行人的最爱,拿出去有面子

现如今手机市场里最受大众欢迎的手机应该就是iPhone了&#xff0c;虽然iPhone的价格都普遍偏高&#xff0c;但是大家依然还是非常青睐于它&#xff0c;主要是因为iPhone的配置和性能确实是比其他机型要好&#xff0c;搭载的A系列仿生芯片和iOS系统都提升了它的性能&#xff0c;…

protocol(协议) 和 delegate(委托)也叫(代理)---辨析

protocol和delegate完全不是一回事。协议(protocol)&#xff0c;&#xff08;名词&#xff09;要求。就是使用了这个协议后就要按照这个协议来办事&#xff0c;协议要求实现的方法就一定要实现。委托(delegate)&#xff0c;&#xff08;动词&#xff09;助手。顾名思义就是委托…

redis 计数 java_redission计数器实现,redisTemplate计数器

在redission 2.9.0版本之前是有BUG&#xff0c;在实现下面代码时&#xff0c;第一次是成功的&#xff0c;但是在第二次就会失败&#xff1a;RedissonClient client;//client参考别的demoRMapCache mapCache client.getMapCache("nameSpace");mapCache.putIfAbsent(&…

天池 在线编程 能否转换

文章目录1. 题目2. 解题1. 题目 给两个字符串 S 和 T, 判断 S 能不能通过删除一些字母(包括0个)变成 T. 样例1 输入: S "lintcode" 和 T "lint" 输出: true样例2 输入: S "lintcode" 和 T "ide" 输出: true样例3 输入: S "…

java对象持久化技术_Java对象持久化技术Hibernate 一

Hibernate是Java应用和关系数据库之间的桥梁&#xff0c;它负责Java对象和关系数据之间的映射。Hibernate内部封装了通过JDBC访问数据库的操作&#xff0c;向上层应用提供了面向对象的数据访问API。在Java应用中使用Hibernate包含以下步骤。(1)创建Hibernate的配置文件。(2)创建…

SQL获取变量类型以及变量最大长度

DECLARE Temp nvarchar(1050) SELECT CAST(SQL_VARIANT_PROPERTY(Temp, BaseType) AS VARCHAR(50))SELECT CAST(SQL_VARIANT_PROPERTY(Temp, MaxLength) AS VARCHAR(50))转载于:https://www.cnblogs.com/lhmlyx2723356/p/4105322.html

java 析构函数_C++与Java的区别(一)

一&#xff0c;前言网上经常看到编程语言之争&#xff0c;大伙儿皈依到不同门派&#xff0c;各自怀抱信仰&#xff0c;时不时还发生点儿“冲突”。这其中&#xff0c;C和Java的优劣&#xff0c;十多年前就常吵的火热。然而时代在进步&#xff0c;技术在发展&#xff0c;满街早已…

天池 在线编程 圣杯咒语

文章目录1. 题目2. 解题1. 题目 一段英文中同时出现大小写的字母中最大的那一个&#xff0c;现在给你一段英文&#xff0c;你能把这个字母找出来嘛&#xff1f; ps:一定存在答案 英文长度不会超过100000 样例 1&#xff1a; 输入&#xff1a;"aAbb" 输出&#xf…

java jtextarea字体_java – 更改JTextArea中不同行的字体

我想在JTextArea中添加不同的字体行,但是最后一个字体似乎覆盖了另一个字体.请帮忙…import java.awt.*;import javax.swing.*;SuppressWarnings("serial")public class test extends JFrame {private static JTextArea referenceTextArea new JTextArea(10, 10);pr…

crawler_java_数据平台结构

大数据生态架构 转载于:https://www.cnblogs.com/cphmvp/p/4105674.html

天池 在线编程 卡牌游戏(01背包)

文章目录1. 题目2. 解题1. 题目 你跟你的朋友在玩一个卡牌游戏&#xff0c;总共有 n 张牌。 每张牌的成本为 cost[i] 并且可以对对手造成 damage[i] 的伤害。 你总共有 totalMoney 元并且需要造成至少 totalDamage 的伤害才能获胜。 每张牌只能使用一次&#xff0c;判断你是否…