本文目錄一覽:
- 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
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/306395.html