iis 怎么搭建php,python有什么推荐的好书吗?
零基础学习Python的话,看视频的效果会更好,很多知识点通过老师的讲解,理解起来会更容易些,比如说需要实现一个功能,从功能的分析,代码的实现以及代码的调试都是动态进行的,更加形象一些,视觉体验也会更好;
之前在 “ 如鹏网 ”上了解过Python的课程体系,挺详细的,可以参考一下,有网络的地方就可以学习,根据自己的时间来灵活安排学习进度,也有更多的时间来练习项目,夯实基础;
有问题随时提问,老师实时在线答疑,每个章节的后面都有相应的练习题和面试口才题,需要以录音的方式进行提交,直到通过为止,为以后的面试做充分的准备,口碑不错,基本上都是慕名而去的,有新的课程,也是可以免费申请了来学习的,具体的可以到如鹏网官网上去了解一下;
有详细的课程体系,可以作为参考;
第一部分:Python语言基础
第二部分:数据库基础
第三部分:web前端
第四部分:Python web开发
第五部分:Python web项目
第六部分:Linux
第七部分:NoSQL
第八部分:数据可视化
第九部分:爬虫技术
第十部分:人工智能
什么是PHP语言?
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP 是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI 或者 Perl 更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。 PHP 最初是1994年Rasmus Lerdorf创建的,刚刚开始只是一个简单的用Perl语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要且增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mSQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;时间到了1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。 PHP的特性包括以下几点: 开放的源代码:所有的PHP源代码事实上都可以得到。 PHP是免费的。 基于服务器端:由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。 嵌入HTML:因为PHP可以嵌入HTML语言,所以学习起来并不困难。 简单的语言:PHP坚持脚本语言为主,与Java以C++不同。 效率高:PHP消耗相当少的系统资源。 图像处理:用PHP动态创建图像 PHP 3与PHP 4的比较 PHP3跟Apache服务器紧密结合的特性;加上它不断的更新及加入新的功能;而且几乎支持所有主流与非主流数据库;再以它能高速的执行效率,使得PHP在1999年中的使用站点已经超过了150000万。加上它的源代码完全公开,在 Open Source意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新的活力,使得PHP无论在UNIX、LINUX或是Windows的平台上都可以有更多新的功能。它提供丰富的函数,使得在程序设计方面有着更好的支持。 PHP4.0整个脚本程序的核心大幅更动,让程序的执行速度,满足更快的要求。在最佳化之后的效率,已较传统CGI或者ASP等程序有更好的表现。而且还有更强的新功能、更丰富的函数库。无论您接不接受,PHP 都将在 Web CGI 的领域上,掀起巅覆性的革命。对于一位专业的Web Master 而言,它将也是必修课程之一。 PHP 4.0是更有效的,更可靠的动态Web页开发工具,在大多数情况运行比 PHP 3.0要快,其脚本描述更强大并且更复杂, 最显着的特征是速率比的增加。PHP4.0这些优异的性能是PHP 脚本引擎重新设计产生的结果:引擎由 AndiGutmans 和 Zeev Suraski从底层全面重写。PHP4.0 脚本引擎 --Zend 引擎,使用了一种更有效的编译--执行方式, 而不是PHP 3.0 采用的执行 --当解析时模型。 PHP4在3.0版的基础上增加或增强了许多有用的特征,主要如下: (1)别名:在PHP4中,可以利用引用为变量赋值,这给编程带来了很大的灵活性。 (2)扩充了API 模块:PHP 4.0 为扩展的 API 模块的提供了扩展PHP接口模块, 它比旧的 API 版本显着地快。 PHP 模块已有的及最常用的接口多数被转换到使用这个扩展的接口。 (3)自动资源释放:PHP4增加了引用计数功能,这种新技术的引入使PHP4具有了自动内存管理功能,减轻了开发人员的负担。 (4)布尔类型:PHP 4.0 支持布尔类型。 (5)进程生成:在 UNIX 环境下的 PHP 4.0 提供了一个很智能和通用的生成进程, 使用了一种名为基于automake/libtool的系统生成技术。 (6)COM/DCOM 支持:PHP 4.0 提供 COM/DCOM 支持 ( 仅用于Windows 环境 ) 可以无缝地存取和访问 COM 对象。 (7)与PHP 3.0 兼容性很好:PHP 4.0 是与 PHP 3.0 代码向后兼容性接近100% 。由于 PHP 4 的改进的体系结构,两者有一些细微的差别,但是大多数人将可能永远不可能遇上这种情况。 PHP介绍 (8)配置:PHP4重新设计和增强了PHP。ini文件,这使得用PHP。ini来配置PHP显得极为容易,这个文件可以在运行时被Apache(unix系统)或由Windows 注册(Windows 环境)。 (9)加密支持:PHP4实现了完整的加密, 这些加密功能是一个完整的mycrypt库,并且 PHP 4.0 支持哈希函数。Blowfish,TripleDES,MD5,并且SHA1 也是可使用的一些加密算法。 (10)类型检查:PHP 4.0 支持同一操作符用于评类型检查:===( 3 等号运算符 ), 为在两个值和其类型之间作检查。例如, 3 ===3 将视为假 ( 类型是不同的 ), 而 3 ==3 ( 相等判断 ) 将视为真。 (11)FTP 支持:PHP 4.0 支持 FTP 。通常, 你会为通过一个调制解调器连接下载一个大文件提供一个接口。然而, 如果你确实有需要,可以使用PHP 。 (12)PHP4新增函数或功能增强函数:PHP 4.0 新增了许多函数,同时也将许多现有的函数功能进行了增强,以下是一些例子。 array_count_values() eval() foreach() nclude() ob_end_clean() ob_end_flush() ob_get_contents() ob_start() strip_tags() unset() (13)here打印:PHP 4.0 的Here打印是与Perl类似的, 尽管完全不相同。Here是打印大容量文章的一个有用的方法,例如在 HTML文件中,不会漏掉任何一个字符,例如目录标记。 (14)HTTP Session fallback 系统:为 HTTP Session管理的一个 fallback 系统在 PHP 4.0被实现 。缺省情况下,Session标识符由cookies存储。如果没有cookies支持或一项cookies任务失败,Session标识符自动被创建并在 URL 的查询字符串中被携带。 (15)ISAPI 支持:PHP 4.0 能作为一个个性化的 ISAPI 模块作为 IIS插件 。这比 PHP 3.0 更有效, 它作为一个外部的程序来运行。 (16)内存:PHP 4.0 能更有效的使用内存, 导致较少的内存占用消耗,这主要归功于引用计数技术的实现。 (17)其他类成员函数:在 PHP 4.0 你能在成员函数本身的作用域或全局范围内调用其他类的成员函数。例如,你能用一个子函数覆盖父函数,并在子函数中调用父函数。 (18)多维数组:在 PHP 4.0 ,利用GET,POST, Cookies的进行的数据传输支持多维数组。 (19)个性化的 HTTP Session支持:HTTP Session处理, 包括 fallback 系统管理,在 PHP 4.0被它的新库函数实现 。在版本 3.0 中处理Session要求使用 PHPLIB 和第三方的库函数, 它比把Session直接地由 PHP 支持慢了许多。 (20)个性化的 Java 支持:PHP 4.0 支持和java的交互。这种个性化的Java 支持为PHP 在 Java 对象上创建和使用方法提供一个简单并且有效的工具。 21)对象和数嵌套组:PHP 4.0 实现了功能更加强大的对象, 移去了 PHP 3.0存在的种种句法限制。对象能在数组以内被嵌套并且反过来也如此, 可以根据你的需要实现嵌套。 (22)面向对象的编程:PHP 4.0 为面向对象的编程和构造类及对象提供扩展的功能和新特征。PHP4实现了对象重载,引用技术等新技术。 (23)对象重载支持:对象重载语法允许第三方的基于面向对象的类库使用 PHP4 的面向对象的特征存取他们自身的功能。使用这个特征的一个 COM 模块已经被实现了。 (24)输出缓冲支持:PHP 提供了一个输出缓冲函数集合。输出缓冲支持允许你写包裹函数功能压缩缓冲区。在 PHP4 的输出缓冲支持允许 HTML 头信息存放, 无论 HTML的正文是否输出。头信息( (header(), content type, and cookies ) 不采用缓冲 。 (25)增加了PCRE 库:PHP 4.0 包括一个 Perl 兼容的正则表达式 (PCRE ) 库, 和正常regex库一起与 PHP 绑定。split 和replace PCRE 功能被支持。PCRE 和 Perl 正规表达式之间有一些细微差别。 (26)PHP.ini 文件:PHP.ini文件在 PHP4.0 被重新设计, 使用的 PHP 的配置PHP.ini是更容易并且更有效的。全部文件能被Apache 在运行时间操作 ( 在 Apache环境 下 ) 或由 Windows 注册表 ( 在 Windows 下面 ) 。被加入PHP.ini文件的配置指令自动地在所有相关的模块中被支持。 (27)引用计数:PHP 4.0 为系统中的每个数值提供了引用计数, 包括资源。一旦一个资源不再被任何变量引用,它自动地被释放以节省内存资源。利用这个特征的最明显的例子一个内置SQL查询的循环语句。在PHP 3.0中 ,每次递归另外的 SQL 结果集合重复申请内存,直到脚本执行完毕,这些结果集合占用的内存才被释放。 (28)支持引用:通过引用可以改变一个变量的值。 (29)函数的运行时绑定:PHP 4.0 的运行时间绑定功能允许你在他们被声明以前调用, 无论声明是否在代码以后或是在运行时间。 (30)类的运行时信息:PHP 4.0 支持在运行时刻存取下列类信息:一个对象的类名,一个对象的父类的类名字,以及对象函数所在的名字。 (31)服务器抽象层:为支持WEB服务器提供了增强型 SAPI ( 服务器 API ) 接口,是 PHP 4。0 不可分的一部分。这个服务器抽象层,提供了通用的WEB服务器接口支持,支持多线程WEB服务器,为大多数的WEB服务器提供透明的支持, 这些服务器包括 Apache ,IIS ( ISAPI ), 以及 AOL 服务器。 --------------------------------------------------------------------------------------------------------------------------PHP5新特性: 更加面向对象化的PHP PHP 5 引入了新的对象模型(Object Model)。完全重写了 PHP 处理对象的方式,允许更佳性能和更多特性。 PHP处理对象部分的内核完全重新开发过,提供更多功能的同时也提高了性能。在以前版本的php中,处理对象和处理基本类型(数字,字符串)的方式是一样的。这种方式的缺陷是:当将对象赋值给一个变量时,或者通过参数传递对象时,对象将被完全拷贝一份。在新的版本里,上述操作将传递引用(可以把引用理解成对象的标识符),而非值。
php函数mkdir实现递归创建层级目录?
1
2
3
if(is_dir(dirname($path))){ //判断./1/2/3 已经有次文件目录
return mkdir($path); //这里执行的$path是多少,是整个目录吗,我理解成./1/2/3/4,很疑惑,所以请 //教下大家
}
这里的两个 $path 很显然是一样的,你都知道 dirname($path) 是 ./1/2/3 那么很显然 $path 应该是 ./1/2/3/4 了,为什么后面你又要说一个 ./1/2/3/4/5/6/7 呢
这个递归函数写得不好,而且还是多余的,现在 PHP 的 mkdir 函数已经能建多级目录了,只要第三个参数为 true 就可以:
1
mkdir('./1/2/3/4/5/6/7', 0777, true);
NTS和TS版本的区别?
先从字面意思上理解:
None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;
Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
再来看PHP的两种执行方式:
ISAPI和FastCGI。
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。
自学web应该选择php还是python?
看来Python的呼声很高啊。
若论排行榜,综合指数,以及看似大热,政治正确,非Pyhon莫属。
之前我曾有回答的帖子,建议初学者,没有编程经验者,可以从Python入手,选取一个方向,深入地研究。再到其他语言的学习。
以上是啰嗦的话,下面开始一本正经地瞎说。Web开发Python在web开放相关的框架有大如 Django,中型的Pyramid, Masonite,几个是同步框架,还有一个支持异步的框架 Tornado。
还有一个轻量级的flask,较为受欢迎。但是复杂的功能,都要其他类库的加持。比如连接数据库,使用SQLAlchemy作为ORM操作。需要单独学习。
其实flask仅仅提供了简单的路由功能,可以快速地写几个api,几个页面,几个接口。要动态渲染页面输出,Jinja,Werkzeug,又是绕不过去的。
整体感觉,如果用Django,框架大而全,在体系内就可以完成大多数任务。比如自带csrf token验证,你要是用flask,还得自己去处理。
为web开发而生看下面这句话:
PHP is a popular general-purpose scripting language that is especially suited to web development.Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.要论开发速度,普及率,工具齐全度,生态完整性,没有比PHP更合适的了。
“为WEB开发而生”!
web开发,如果要在python vs php 之间选择一个的话,我会毫不犹豫地选择PHP!
wordpress在2003-04年释出之后,逐渐升级,逐渐占据市场,成为CMS系统,博客系统,事实上的标准。因为开始较早,向下兼容许多古老的网站,wordpress混杂着许多风格的代码。但是不断更新,bug修复,也不断完善着。
Laravel命名空间的出现,以及PHP7新的大量的语言特性,和性能升级,Laravel给我们提供了可以构建企业级的,大型的,可扩展的应用开发方式。
国内外生态完善,插件众多,包管理简便,定制型强。
官方的英文文档对于初学者,可能难度较大,国内
learnku.com
社区推出的各个版本的文档中文版,优秀而精良,可以作为学习的手册。从何入手?我是要直接开始学习框架吗?还是要先写一些基本的语法类的hello-world-demo?
初学者会迷茫。
我的建议,首先,在PHP官网下载手册,根据你使用的版本,可下载中文版chm文件,社区都给翻译好了。因为PHP函数众多,函数参数和返回值有些需要格外注意。手册,就是工具书,需要天天翻,时时看,自然熟练。
同时,可以开始学习框架,理解其MVC设计模式,还有其如何构建,拆分,实现某些模块,功能。这个过程,会让我们熟悉框架运行的方式,同时掌握大量的PHP编程技巧和特性。
结语不要迷茫,从现在开始,读代码,写代码,看手册,翻文档!
以上。