今天有个同事问我传值和传引用有什么不同,这让我想起了,刚学php的时候,那个时候做过很多项目,做东西多,就以为自己php掌握的差不多了,随着时间的推移,越深入的学习,越觉得自己知道的真的很少,很少。哈哈,会用只是初级阶段,要了解原理是什么,这样才能更好去运用,费话不多说
- 传值:是把实参的值赋值给行参 ,那么对行参的修改,不会影响实参的值
- 传引用 :真正的以地址的方式传递参数传递以后,行参和实参都是同一个对象,只是他们名字不同而已对行参的修改将影响实参的值
说明:
今天有个同事问我传值和传引用有什么不同,这让我想起了,刚学php的时候,那个时候做过很多项目,做东西多,就以为自己php掌握的差不多了,随着时间的推移,越深入的学习,越觉得自己知道的真的很少,很少。哈哈,会用只是初级阶段,要了解原理是什么,这样才能更好去运用,费话不多说
说明:
一,利用fsockopen来上传文件
以前我写过一篇关于socket通信原理的博文http://blog.51yip.com/php/673.html有兴趣的朋友可以看看,前面讲的那篇博文,socket的服务器和客户端都是要用php命令来运行的。平常我们上传文件是浏览本地文件,通过一个php程序将文件上传一个地方,这个时候我们用php命令来运行php程序就不方便了。这个时候我们可以用fsockopen来打开一个socket通道,并且可以通过浏览器来访问页面。下面有一个例子,大家可以试一下。
二,upload.html
一,在说出我的困惑时,先罗嗦一下memcache
memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,最初为了加速 LiveJournal 访问速度而开发的,后来被很多大型的网站采用。目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。起初作者编写它可能是为了提高动态网页应用,为了减轻数据库检索的压力,来做的这个缓存系统。它的缓存是一种分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法不仅解决了共享内存只能是单机的弊端,同时也解决了数据库检索的压力,最大的优点是提高了访问获取数据的速度!基于memcache作者对分布式 cache的理解和解决方案。 memcache完全可以用到其他地方 比如分布式数据库, 分布式计算等领域。
二,memcahce的key如何关理,更合适
一,读取文件
先解释一下,什么是读取文件本身,什么叫读取文件输入内容。举个例子test.php里面的内容<?php echo "test"; ?>
1,读取文件本身就是读取文件内所有内容,读取后就能得到<?php echo "test"; ?>
2,读取文件输出内容是读取文件所表现出来的东西,读取后得到test
二,fopen方法
1,读取文件本身
一,socket是什么
什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。说白了就是一种通信机制。它类似于银行,电信啊这些部分的电话客服部门。你打电话的时候,那边会分配置一个人回答你的问题,客服部门就相当于socket的服务器端了,你这边呢就相当于客户端了,在和你通话结束前,如果有人在想找和你通话的那个说话,是不可能的,因为你在和他通信,当然客服部门的电话交换机也不会重复分配。
下面我将举例子来说明一下,socket是怎么工作的。如果你是基于应用层开发的人员并不一定要理解原理,但是能知道那是更好了。网上有关于socket的php api。下下来用就行了。
二,socket服务器server.php
说明一下,以前我写过一篇关于将xml转换成数组的博文,http://blog.51yip.com/php/591.html,这篇博文读取xml的前提是知道xml的标签名称是什么,但是如果标签名称不知道呢怎么办呢,话又说回来了,一般情况下都是知道的,因为xml数据都是由人生成的,或者按人写的规则自动生成的。
今天在网上想找个将xml转成json的方法,找了半天没找到,找到了,根本没有什么用,有一个service_JSON说的挺像真的,找开后就一个JSON.php,php5.0以后已经把它加进来,json_decode和json_encode。想走捷径的,唉,靠人不如靠已。以下是我写的一个方法
一,参考xml文件如下
为什么要缩放和截图呢?最重要一点,就是加载的速度,如果我想要显示一个30x30的图片,但是你上传的图片是300x300,页面加载图片的时候,肯定30x30的要快。所以我们就要截取或者缩放,现在sns的网站都提供,头像的截取。
一,准备test.html页面
<html> <body> <form action='test.php' method='post' name='form' enctype="multipart/form-data"> <input type='file' name='photo'> <input type=submit value='submit'> </form> </body> </html>
一,什么是xml,xml有什么用途
XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
XML的用途很多,可以用来存储数据,可以用来做数据交换,为很多种应用软件提示数据等等。
二,php读取xml的方法
xml源文件
一,什么是CMS系统
CMS是Content Management System的缩写,意为"内容管理系统"。也就是说cms就是管理网站内容的一个工具,你可以把它理解成一个工厂,通过它要生产什么东西,怎么管理你的东西
二,cms的好处
1,易于安装,易于使用
CMS的安装,很简单,按他的要求,点几下就可以CMS安装好了,使用更加方便,从后台发布数据到前台,很人性化的管理,让CMS很是流行,帝国CMS,ecshop,wordpress,phpcms等等
一,出现乱码的原因分析
1,保存文件时候,文件有自己的文件编码,就是汉字,或者其他国语言,以什么编码来存储
2,输出的时候,要给内容指定编码,如以网页的形势输入时<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
3,从数据库取出数据时,搞不清楚数据库,设置的字符集
4,以汉字为例,汉字本来也有编码的,一个汉字gbk要二个字符,而utf8要三个字符