Zi 字媒體
2017-07-25T20:27:27+00:00
PHP Upload File
PHP: 7.2
在 PHP 當中,可以使用定義好的 $_FILES 處理上傳檔案。
Environment
首先介紹一下在 php.ini 中會影響上傳檔案功能的環境設定。
Attribute
Description
file_uploads
是否可以上傳檔案(預設為 On)
upload_max_filesize
上傳檔案的最大限制
max_execution_time
最大執行時間,預設為30秒
memory_limit
記憶體限制
post_max_size
POST 的資料量限制
HTML POST
在前端的部份,可以透過 HTML 搭配 來上傳檔案。
Notice: 上傳檔案時,記得要將 enctype 改成 multipart/form-data。
範例
送出
另外,在 input 加入 multiple 屬性就可以一次上傳多個檔案。
$_FILES
在前端傳送檔案到後端之後,可以透過 $_FILES 取得一些資訊:
// 原始檔案名稱
echo $_FILES['myfile']['name'];
// 檔案大小,單位為 Byte
echo $_FILES['myfile']['size'];
// 檔案上傳完畢後,伺服器暫存的位置
echo $_FILES['myfile']['tmp_name'];
// 檔案類型, MIME 格式
echo $_FILES['myfile']['type'];
// 錯誤代碼
echo $_FILES['myfile']['error'];
錯誤代碼的部份,可以查詢 官網 。
範例
// 分離檔案名稱及副檔名
$fileArr = explode('.', $_FILES['myfile']['name']);
// 取得副檔名
$fileType = $fileArr[count($fileArr) - 1];
// 設定路徑及檔案名稱和副檔名
$destination = '路徑/檔案名稱' . $fileType;
// 透過 move_uploaded_file 將檔案移至設定路徑
move_uploaded_file($_FILES['myfile']['tmp_name'], $destination);
Categories: PHP
Tags: PHP
分類
Android
AngularJS
API Blueprint
Chrome
Database
MySQL
DataStructure
Docker
Editor
Vim
Firefox
Git
GitLab
Google API
Hadoop
Language
Go
Java
JavaScript
jQuery
jQueryChart
Node.js
Vue
PHP
Laravel
ZendFramework
Python
Mac
Network
Cisco
DLink
Juniper
Oauth
Server
Apache
Share
Unix
FreeBSD
Linux
WebDesign
Bootstrap
CSS
HTML
Wordpress
Search
搜尋關鍵字:
寫了
5860316篇文章,獲得
23313次喜歡