第11章 web应用程序开发

2018-03-03 15:12:34 《PHP与MySQL动态网站开发》笔记 阅读: 291

发送电子邮件

语法:

mail(address, theme, content [, header])

参数解释:

  • address: 邮件地址,多个之间用逗号隔开
  • theme: 邮件主题
  • content: 邮件内容
  • header: 设置发件人("From:" + name)、回复(Reply-to)、抄送(Cc)、密件抄送(Bcc)、

php手册api参考

注:此功能需要在服务器上安装邮件服务器软件。

文件上传

文件上传的php.ini配置:

  • file_uploads:文件上传功能开关
  • max_input_time: 允许PHP脚本运行的时间(单位秒)
  • post_max_size: 允许POST数据的总大小(单位字节)
  • upload_max_filesize: 最大的文件大小(单位字节)
  • upload_tmp_dir: 临时存放上传文件的位置,可以将此目录设置在web目录上层并需要设置相应的权限
    建立上传的文件目录:可以将此目录设置在web目录上层并需要设置相应的权限

上传文件的表单需要设置属性

enctype="multipart/form-data" method="post"

通过表单内的隐藏input简单限制文件大小, length单位为字节:

<input type="hidden" name="MAX_FILE_SIZE" value="lenth" />

$_FILES超全局变量保存了上传的文件信息:

$_FILES键 说明
name 文件原始名
type 文件MIME类型,浏览器提供
size 文件大小,单位字节
tmp_name 临时文件名
error 错误代码

保存已经上传的临时文件:

move_uploaded_file($_FILES['intput_name'][tmp_name], save_filename);

$_FILES[intput_name]['error']

符号常量 含义
0 UPLOAD_ERR_OK 文件上传正常
1 UPLOAD_ERR_INI_SIZE 上传的文件超过了 php.ini 中 upload_max_filesize选项限制的值
2 UPLOAD_ERR_FORM_SIZE 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值
3 UPLOAD_ERR_PARTIAL 文件只有部分被上传
4 UPLOAD_ERR_NO_FILE 没有文件被上传
6 UPLOAD_ERR_NO_TMP_DIR 找不到临时文件夹
7 UPLOAD_ERR_CANT_WRITE 文件写入失败
8 UPLOAD_ERR_EXTENSION 文件上传停止

判断上传的文件是否存在:

is_uploaded_file($_FILES['input_name']['tmp_name'])

发送HTTP头部

HTTP协议解析

方法:header(head_string); head_string为发送的 http 头部信息

重定向:header("Location: url");

发送文件:

  1. 指定文件类型:
    header("Content-Type: application/file_type\n");
  2. 告诉浏览器怎么处理:
    header("Content-Disposition: attachment或inline; filename=\"file_name.file_type\"\n");

    attachment下载(不一定能行), inline显示文件

  3. 下载文件第三步:
    header("Content-Length: length\n");  //指定文件长度
    readfile($file_name);  //读取文件并发送给浏览器

    注意:使用header()函数之前不能发送任何内容给web浏览器。使用headers_sent()函数可以判断是否已经发送数据给web浏览器

日期和时间函数

使用日期和时间函数之前,必须设置时区:

date_default_timezone_set('PRC');  //PRC(People's Republic of China),即北京时区

日期和时间函数API文档

版权声明:本文为博主原创文章,转载需注明来自: 洛洛の空间


功能
最新评论