`

fsockopen读写文件

    博客分类:
  • php
阅读更多
function gernerateFreeHero($links){
		$heros = array();
		foreach($links as $key=>$val){
			$item = explode(',',$val);
			$heros[$key]['key'] = $item[0];
			$heros[$key]['name'] = $item[1];
			$heros[$key]['title'] = $item[2];
			$heros[$key]['url'] = $item[3];
		}
		//var_dump($heros);
		
		$poststr	= rtrim($this->dataEncode($heros), '&');
		$fp	= fsockopen('www.xxx.com', 80, $errno, $errstr, 10) or die('无法连接到服务器');
		fwrite($fp, "POST /index.php HTTP/1.1\r\n");
		fwrite($fp, "Host: www.xxx.com\r\n");
		fwrite($fp, "Content-type: application/x-www-form-urlencoded\r\n");
		fwrite($fp, "Content-Length: ".strlen($poststr)."\r\n");
		fwrite($fp, "Connection: close\r\n\r\n");
		fwrite($fp, $poststr."\r\n\r\n");
		
		$result		= '';
		$isconter	= false;
		$len		= 0;
		while($str=fgets($fp))
		{
			if($isconter==true) $result	.= $str;
			else if($str=="\r\n")
			{
				$isconter	= true;
				if($_SERVER['SERVER_SOFTWARE']!='Microsoft-IIS/6.0') $len		= hexdec(fgets($fp));
			}
		}
		
		fclose($fp);
		
		if($_SERVER['SERVER_SOFTWARE']!='Microsoft-IIS/6.0') $result	= substr($result, 0, $len);
		if($result == 'true'){
			echo '成功';
			exit();
		}else{
			echo '失败';
			exit();
		}
		
	}

 

function dataEncode($data, $keyprefix = '', $keypostfix = '')
	{
		assert(is_array($data));
		$vars = '';
		foreach ($data as $key => $value)
		{
			if (TRUE == is_array($value)) $vars .= $this->dataEncode($value, $keyprefix . $key . $keypostfix . urlencode('['), urlencode(']'));
			else $vars .= $keyprefix . $key . $keypostfix . '='.urlencode($value) . '&';
		}
//		if ('' != $vars) $vars = substr($vars, 0, -1);
		return $vars;
	}

 

//object转array
	function object_to_array($obj) 
	{ 
	    $_arr= is_object($obj) ? get_object_vars($obj) : $obj; 
	    foreach($_arr as $key=> $val) 
	    { 
	        $val= (is_array($val) || is_object($val)) ?       $this->object_to_array($val) : $val; 
	        $arr[$key] = $val; 
	    } 
	    return$arr; 
	}
分享到:
评论

相关推荐

    php中fsockopen用法实例

    - 检查socket连接是否成功,否则可能会在未建立连接的情况下执行读写操作导致错误。 - 读取和写入数据时,如果使用了回车换行符(\r\n),一定要注意其格式与服务器端是否一致,否则可能会造成服务器解析错误。 - ...

    PHP 文件操作函数

    使用`fopen()`打开文件并返回文件指针,然后配合`fread()`、`fwrite()`和`fclose()`进行读写操作。`fseek()`用于移动文件指针,`feof()`检查是否到达文件末尾。`fsockopen()`则用于创建网络套接字连接,处理HTTP、...

    php使用fsockopen函数发送post,get请求获取网页内容的方法

    fsockopen函数返回的是一个网络套接字资源,可以使用PHP的其他文件函数,如`fwrite`和`fgets`进行读写操作。读取响应时,应当使用循环来读取数据直到文件指针到达文件末尾。 在获取完网页内容后,可以通过`fclose`...

    基于php socket(fsockopen)的应用实例分析

    fsockopen是PHP的一个内置函数,它可以用来打开一个指向远程服务器的持久连接,并用于读写数据。尽管fsockopen是面向文件的流接口,但实际上它基于socket。 现在,让我们深入分析这篇文章中的服务器端和客户端代码...

    不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题

    7. 编码和权限问题:文件中提到了编码问题和文件权限问题,这意味着在排查此类问题时,应考虑服务器的编码设置是否正确以及文件是否有正确的读写权限,这些都是确保PHP脚本正常运行的基本要求。 8. HTTP请求协议...

    PHP使用feof()函数读文件的方法

    1. 文件指针必须有效,且必须指向一个由fopen()或fsockopen()成功打开的文件(并且未被fclose()函数关闭)。如果传递给feof()的文件指针是无效的,程序可能会陷入无限循环。 2. 如果使用fsockopen()打开的服务器连接...

    967个函式列表 PHP常用语法索引速查表

    **Dbmopen** 函数用于打开一个 DBM 文件,以便进行读写操作。 #### DecBin: 十进制转二进制 **Decbin** 函数用于将十进制整数转换为二进制字符串。 #### DecHex: 十进制转十六进制 **Dechex** 函数用于将十进制...

    php通过文件流方式复制文件的方法

    例如,你可以使用`fsockopen()`或`fopen()`结合`stream_context_create()`创建网络流,实现远程文件的复制。 此外,了解如何处理文件流对于构建API接口也至关重要。例如,当一个移动应用(APP)需要上传文件到...

    Dhe.rar_Internet/网络编程_studiedjdd

    这些.dbf文件是FoxBase或dBase格式的数据库文件,这是一种较老但仍然可用的数据存储格式,它们可能被PHP通过特定的库或自定义脚本进行读写操作。 总的来说,这个项目展示了如何使用PHP进行文件操作来构建一个简单的...

    玖玩浏览器 v20110901

    请注意网站要有读写权限,否则玖玩浏览器无法安装也无法使用!PHP需要开启fsockopen、gd、iconv、mb,否则无法使用。请注意保护用户数据,不得窃取、公开部分或全部COOKIE/URL/表单/剪切板/文件等内容,不得使用用户...

    基于PHP的屋txt小说采集.zip

    fopen、fread、fwrite和fclose组合使用可以实现流式读写,更高效地处理大文件。此外,SplFileObject类提供了一种面向对象的方式来操作文件,增加了易用性和灵活性。 【安全与优化】 在进行PHP文本采集时,需要注意...

    玖玩浏览器(WAP网页浏览器PHP版) v20110901.rar

    请注意网站要有读写权限,否则玖玩浏览器无法安装也无法使用! PHP需要开启fsockopen、gd、iconv、mb,否则无法使用。 请注意保护用户数据,不得窃取、公开部分或全部COOKIE/URL/表单/剪切板/文件等内容,不得使用用户...

    基于PHP的源码 net2ftp多国语言版.zip

    - **性能优化**:如何减少不必要的服务器负载,例如通过缓存机制或有效的文件读写策略。 总的来说,"基于PHP的源码 net2ftp多国语言版.zip" 是一个学习和研究PHP Web开发,特别是FTP服务和多语言支持的好例子。通过...

    PHP实例开发源码——PhpSpy 2008 WEB后门程序.zip

    4. **文件操作**:后门可能涉及读写服务器上的文件,包括日志、配置文件等,因此需要理解PHP的文件I/O函数,如`file_get_contents()`、`file_put_contents()`等。 5. **网络通信**:PhpSpy可能通过网络发送或接收...

    基于PHP的二进制在线转换 php版.zip

    4. **网络数据流**:在处理网络传输的二进制数据时,`fsockopen()` 和 `socket_create()` 可创建套接字连接,`socket_read()` 和 `socket_write()` 用于读写数据。 5. **数据编码与解码**:`base64_encode()` 和 `...

    PHP4 中文参考手册(CHM)

    6. **文件和目录操作**:`include` 和 `require` 用于引入 PHP 文件,`mkdir` 和 `rmdir` 用于创建和删除目录,`file_get_contents` 和 `file_put_contents` 用于读写文件。 **PHP4 的函数库:** - **字符串处理**...

    PHP fclose函数用法总结

    PHP fclose函数是用于关闭由 fopen() 或 fsockopen() 打开的文件,释放与该文件关联的系统资源。在编程中,对文件的处理需要经历打开、读写、关闭等操作。 fclose 函数便是用于执行最后的关闭操作,保证数据正确写入...

    PHP5学习对象教程(CHM)

    PHP5提供了丰富的文件系统函数,用于读写文件、创建目录、复制移动文件等。例如,`file_get_contents()`用于读取文件内容,`file_put_contents()`用于写入文件,`mkdir()`用于创建目录,`rename()`用于重命名或移动...

    精通php4网络编程.rar

    5. 文件系统操作:PHP4提供了丰富的文件系统函数,包括读写文件、目录操作、文件上传下载等功能,这些函数使开发者能方便地处理服务器端的文件和目录。 6. 引入了 Sessions 和 Cookies:PHP4开始支持会话管理,通过...

    php4完全手册(CHM)

    3. **文件与目录操作**:如fopen、fclose、fread、fwrite等文件操作函数,以及mkdir、rmdir等目录管理功能,它们对于读写文件和构建动态网站至关重要。 4. **网络通信**:PHP4支持通过fsockopen函数进行网络连接,...

Global site tag (gtag.js) - Google Analytics