php系列之常用函数和Apache配置

如果电脑没有连接任何网络的情况下,会有一个本地回环地址:127.0.0.1

web服务器的作用,主要是将服务器上的相关文件提供给用户访问,将域名和端口号绑定到对应的文件夹,当用户访问域名时,相当于访问对应的文件夹,可以通过一些特定的服务器软件实现这些功能,并设置一些默认的功能配置,比如当用户访问文件夹时默认展示给用户的文件界面,当没有默认界面时,是否显示对应文件结 构等.

Apache配置文件几个常用的点:

1.访问的根目录:DocumentRoot

2.某个文件的访问权限,和浏览目录功能的禁用: 

<Directory />

Options Indexes FollowSymLinks // 当没有默认文件时,允许访问目录

Options FollowSymLinks//禁止访问目录结构

Require all granted //允许访问

Require all denied //拒绝访问

</Directory>

3.访问文件夹时,默认解析的文件:

4.虚拟主机中的ServerName为域名,根据域名判断对应的虚拟主机.

5.在apache配置文件中引入php目录中的dll模块解析php文件:LoadModule php7_module C:/Develop/Php/php7apache2_4.dll,他会根据MIME type去判断是否为php文件.

6.在apache配置文件中添加MIME Type:

<IfModule mime_module>

AddType application/x-httpd-php .php

</IfModule>

7.配置Php拓展:

php安装目录中有一个ext文件夹,这里面是php的一些扩展dll,引入他们可以使用额外的功能函数.

把php安装目录中的php.ini-development复制一份,重命名为php.ini

打开php.ini文件,赋值extension_dir = "C:/Develop/php/ext"为拓展文件夹的绝对路径

然后解开extension=mbstring的注释,引用哪个模块,类似这种写法添加即可

phpinfo ()打印出php的相关信息,其中Configuration File (php.ini) Path需要指定一下:在Apache配置文件httpd.conf中加一句:

PHPIniDir C:/Develop/php指定php.ini的引入路径路径

当php.ini中有display_errors = On时,通过$dic[key]形式判断是否为空的Notice警告才会打印出来.

--------------------------------------------------------------------------------------

Apache的虚拟主机:当在一个服务器上提供不同站点服务的时候,不同的域名指向我们同一个ip和80端口,这时我们可以使用Apache建立不同的虚拟主机来引导访问,配置虚拟主机的ServerName可以根据不同的域名定位到不同的文件夹.

Apache配置php并引用php MIME type使php成为动态页面,当用户访问文件时,如果当前解析的文件类型,有引入对应的模块可以解析,那么,apache就会把对应的模块解析后的结果呈现给用户,这种网页称之为动态网页,如果没有找到对应的解析模块,则会直接把文件应展示的内容呈现给用户,称之为静态网页.

奇了个怪的是:在httpd.conf中引入php模块的时候,LoadModule php_module C:/Develop/Php/php7apache2_4.dll时报错:can't locate api module...,然后把模块名改一下:LoadModule php7_module C:/Develop/Php/php7apache2_4.dll就好了,贼6,原来模块名也不是随随便便就能命名的,另外需要记住,php的MIME type是application/x-httpd-php,需要在配置文件中添加一下.

判断一个值是否存在,推荐使用isset (值),isset会吞掉notice undefine警告,另外直接判断字典中的某个key对应的值是否存在,没有这个值的话会报notice undefine警告.

empty (值):和isset相反,判断是否为空或者为false;empty('0')为true,也是6啊.

time ():获取时间戳.

strtotime ('2018:08:08 08:08:08'):时间字符串转换为时间戳.

date('Y-m-d H:i:i', time ()):获取格式化的时间,格林威治时间.

date_default_timezone_set("PRC");设置为北京时间.或者在php.ini中设置date.timezone = PRC

声明常量: define ("GLOBAL_VALUE", "我是全局变量哦!");使用: echo GLOBAL_VALUE.一般作为程序的配置信息用.

(css文件中有@import url ('./sub.css');语法去引入其他的css文件).

php中引入其他php文件:require ('other.php'),每次加载都会执行加载的脚本.

require_once ('other.php'),只会加载一次.

include用法同require,只不过当加载的文件不存在时,require会报错,从而影响到程序的运行,而include只会报警告,程序运行不受影响.include_once同理.

可以把通用的组件写在一个php中,在使用他的时候require或者include.注意,require用来加载必须的文件,include用来加载就算没有也不影响业务的文件.

form表单的action地址可以写为action="<?php echo $_SERVER['PHP_SELF'] ?>"来提交给自身, 当input组件为多选时,name名要以[]结尾,这样服务器取到的就是数组,php中通过$_SERVER['REQUEST_METHOD'] === 'POST'的方式判断请求方式,通过$_POST,$_GET,$_REQUEST获取传来的表单数据.当为select组件时,如果option的value有值,则获取到的为value的值,否则获取的是option标签中的文本.

当使用表单上传文件时,method必须是post,而且enctype属性需要设置为multipart/form-date以传递二进制文件,服务端使用$_FILES获取文件,当未选择文件时,$_FILES中也会有数据,此时要判断数组中的error是否为0(UPLOAD_ERR_OK),来判断是否上传成功;当选择文件大小大于php限制时,$_FILES中不会有数据.

通过配置php.ini中的post_max_size来限制服务端接收post请求的包体大小;upload_max_filesize来限制上传单个文件的大小.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值