本文目录一览:
- 1、如何正确调整PHP上传附件大小限制
- 2、php 邮件如何配置附件的路径
- 3、如何正确调整PHP上传附件大小限制?
- 4、php怎么上传附件?
- 5、关于php发送附件的问题
- 6、如何使用PHP发送包含附件的电子邮件
如何正确调整PHP上传附件大小限制
全局控制 php.ini 文件,修改php.ini 文件里面的参数
1、开启文件上传
file_uploads = On
2、内存大小
memory_limit = 128M // 在被取消之前,一个脚本可使用多少内存(字节)
3、增加 post 方式提交的数据大小
post_max_size = 32M
4、允许上传的最大上传文件大小
upload_max_filesize = 30M
5、最大的输入时间。一个脚本等待输入数据的时间有多长(秒)
max_input_time = 60
6、增加进程执行的时间。一个脚本可使用多少 CPU 秒
max_execution_time = 300
从逻辑顺序上:memory_limit post_max_size upload_max_filesize,再加上一个前提 max_execution_time许可时间足够长。
参考:
php 邮件如何配置附件的路径
建议使用PHPEmailer发送邮件,使用非常简单:
require('class.phpmailer.php');
$mail = new PHPMailer(); //实例化
$mail-IsSMTP(); // 启用SMTP
$mail-Host = "smtp.163.com"; //SMTP服务器 163邮箱例子
$mail-Port = 25; //邮件发送端口
$mail-SMTPAuth = true; //启用SMTP认证
$mail-CharSet = "UTF-8"; //字符集
$mail-Encoding = "base64"; //编码方式
$mail-Username = "abc@163.com"; //你的邮箱
$mail-Password = "xxx"; //你的密码
$mail-Subject = "xxx你好"; //邮件标题
$mail-From = "abc@163.com"; //发件人地址(也就是你的邮箱)
$mail-FromName = "xxx"; //发件人姓名
$address = "xxx@qq.com";//收件人email
$mail-AddAddress($address1, "xxx1"); //添加收件人1(地址,昵称)
$mail-AddAttachment('xx.xls','我的附件.xls'); // 添加附件,并指定名称
$mail-AddAttachment('xx1.xls','我的附件1.xls'); // 可以添加多个附件
$mail-IsHTML(true); //支持html格式内容
$mail-Body = '你好, b朋友/b! br/这是一封邮件!'; //邮件主体内容
//发送
if(!$mail-Send()) {
echo "发送失败: " . $mail-ErrorInfo;
} else {
echo "成功";
}
如何正确调整PHP上传附件大小限制?
修改一下php.ini文件。
需要服务器权限才可修改!!
需要在PHP.ini里设置以下几项:
1. post_max_size =10M
表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.
限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等...
2.file_uploads = On
是否允许上传文件,如果为OFF您将不能上传文件.
3.upload_tmp_dir = "D:/APM/PHP/uploadtemp/"
上传文件时系统使用的缓存目录.如果此目录所在磁盘空间不足的话您将不能上传文件.
4.upload_max_filesize =2M
最大上传文件大小,此项针对上传文件时单个文件的大小.
与post_max_size之间的关系:
在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.
注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的.
您可以在WEB目录下建立一个php文件,内容很简单就一句话
代码:
?php
phpinfo();
?
浏览器中查看此文件, Configuration File (php.ini) Path 此项对应的就是您的PHP当前正在使用的php.ini文件了.
php怎么上传附件?
文件上传表单
form enctype="multipart/form-data" action="_URL_" method="POST"
input type="hidden" name="MAX_FILE_SIZE" value="30000"
Send this file: input name="userfile" type="file"
input type="submit" value="Send File"
/form
使文件上传生效
?php
// 在 4.1.0 以前的 PHP 中,需要用 $HTTP_POST_FILES 代替 $_FILES。
// 在 4.0.3 以前的 PHP 中,需要用 copy() 和 is_uploaded_file() 来代替 move_uploaded_file()。
$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir. $_FILES['userfile']['name'];
print "pre";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {
print "File is valid, and was successfully uploaded. Here's some more debugging info:\n";
print_r($_FILES);
} else {
print "Possible file upload attack! Here's some debugging info:\n";
print_r($_FILES);
}
print "/pre";
?
关于php发送附件的问题
代码应该可以,你的表单怎么创建的,给你举个例子
form name="form1" enctype="multipart/form-data" method="post" action="sendadd.php"
enctype="multipart/form-data"
这项一定要有,再试试吧
---------------------------------------
那把附件的字符集设定一下,
CharSet = "gb2312"; // 这里指定字符集!如果是utf-8则将gb2312修改为utf-8
这语句不能直接加,要用对象调用,具体用那个对象,参照你的邮件类吧
如何使用PHP发送包含附件的电子邮件
通常需要把 附件 比如 aa.txt 做处理
然后 通过 fsockopen 打开 对方 邮件地址
通过 fwrite 把 附件内容 写进对方的地址 邮件内容中
例如 下面这种 需要这么处理
最下方 最长的那一段 实际上就是 附件的真实内容 也就是说 aa.txt里边的内容 是以这种方式传送的 当然了这是编码过以后的 结果
那么在对方收到你的 邮件后 在读取时 也是需要解码 然后给你 看的
最终 解码后 你看到的 结果 就是 aa.txt 下载打开后 里边就会有内容了
Content-Type: text/x-c++;
name="=?utf-8?B?7JWE7IKs64us7JWE7IKs64us7ZWY64iF7LWc6rOg7Lu07Y2864uILnR4dCgzM0tCKQ==?="
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="=?utf-8?B?7JWE7IKs64us7JWE7IKs64us7ZWY64iF7LWc6rOg7Lu07Y2864uILnR4dCgzM0tCKQ==?="
77u/7Jqw7Y6467KI7Zi4IOyngOuyiOyjvOyGjCDsl4bslaDquLA6JHJvYWRf
dHlwZT10cnVlOw0KDQoxLiDsnIjrj4Qg7ISc67KEIA0KLSBJUCA6IDExMC40
NS4xNDUuMTMwIChtc3RzY+uhnCDsoJHsho3tlZjsi5zrqbQg65Cp64uI64uk
LikNCmFkbWluaXN0cmF0b3IgLyBEa3RrZWtmIzQNCg0KRE5TOjIxOS4xNDku
MTk0LjU1DQpJRCA6IEFzYVByb2dyYW0gICAgIFBXIDogQVNBcHJvZyAgQXNh
UHJvZyAgYXNhcHJvZw0KRUtGS1FIRH4hDQoNCj09PT09PT09PT09PT09PT09
PT09PT09PT1kZWZpbmUv5qW36L6o6YWS6I2k5bSUSVAgDQoNCmRlZmluZSgn
X19EQl9NWVNRTF9ERUJVR19JUF9fJywnMjIyLjE2MS4zLjQsMTI0LjIzNC4x
MDAuODInKTsgc3Fs6K+t5Y+lDQoNCg0KZGVmaW5lKCdfX0RCX01ZU1FMX0RF
QlVHX0lQX0VYVF9fJywgJzIyMi4xNjEuMy40LDEyNC4yMzQuMTAwLjgyJyk7
DQoNCg0KDQoNCg0KJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10gLyoq6I2k5o2e
6aOY55aZIOWUseWdt+e7sOiKrSoqLw0KDQppZiAoJF9TRVJWRVJbJ1JFTU9U
RV9BRERSJ10gPT0gJzIyMi4xNjEuMy40J3x8JF9TRVJWRVJbJ1JFTU9URV9B
RERSJ10gPT0gJzIyMi4xNjkuMzMuNzQnKSB7DQoJJGluY2x1ZGVkX2ZpbGVz
ID0gZ2V0X2luY2x1ZGVkX2ZpbGVzKCk7DQoJZm9yZWFjaCgkaW5jbHVkZWRf
ZmlsZXMgYXMgJGZpbGVuYW1lKSB7DQoJCXByaW50ICRmaWxlbmFtZSAuICc8
YnI+JzsNCgl9DQp9ICAJCQkJaW5jbHVkZSBmaWxlDQotLS0tLS0tLS0tLS0t