php上傳文件深度解析
本文主要跟大家分享php上傳檔案深度解析,前面我們也跟大家分享很多php上傳檔案的文章,希望這篇文章能幫助大家。
1.php上傳檔案設定php.ini設定:
(1)file_uploads=on|off : 確定伺服器上的 PHP 腳本是否可以接受檔案上傳。
(2)max_execution_time=integer : PHP 腳本在註冊一個致命錯誤之前可以執行的最長時
#間,以秒為單位。
(3)memory_limit=integer #: 設定腳本可以分配到的最大內存,以MB為單位。這可以防
止失控的腳本獨佔伺服器記憶體。
(4)upload_max_filesize=integer :設定上傳檔案最大大小,以MB 為單位。此指令必須小
於 post_max_size。
(5)upload_tmp_dir=string : 設定上傳檔案在處理之前必須存放在伺服器的暫時一個位置,
直到檔案移動到最終目的地為止。
(6)post_max_size=integer :確定透過 POST方法可以接受的訊息的最大大小,以MB 為
單位
2.php上傳相關的方法
(##1)bool is_uploaded_file(string $filename)
定義:is_uploaded_file() 函數判斷指定的檔案是否是透過 HTTP POST 上傳的
#參數 $filename : $_FILES['file_img']['tmp_name'](範例)
規定要檢查的檔案:C:\Windows\Temp\php9632.tmp
(2)bool move_uploaded_file ( string $filename , string $destination )
##定義:
函數將上傳的檔案移到新位置 一般和is_uploaded+_file() #方法搭配使用
$filename : $_FILES['file_img']['tmp_name']
(2)file_unload_select.php 檔案用於檔案的HTML瀏覽選擇,上傳點擊:
#enctype = "multipart/form-data" #固定寫法,不然文件上傳失敗
action = "url"
method="post"# method="post"# method="post" post
#(#3##)upload.php 檔案用於處理上傳檔案 #判斷上傳檔案類型 以及 移動檔案到伺服器指定目錄:
//接收上传文件 print_r($_FILES); define('DS',DIRECTORY_SEPARATOR); //判断当前上传的文件是否为图片 $img_type_arr = array('image/png','image/jpeg','image/jpeg'); //for循环遍历数组 -- 第一方法判断是否为数组中的子项 for($i=0;$i<count($img_type_arr);$i++) { if($img_type_arr[$i] != $_FILES['file_img']['type'] && ($i == count($img_type_arr)-1) ) { echo "" exit; } } //数组方法array_in() -- 第二方法判断是否为数组中的子项 if(!is_uploaded_file($_FILES['file_img']['tmp_name'])) { //如果临时文件不存在,则说明没有上传到临时文件夹 echo '上传到临时文件夹失败'; } else { //echo '上传到临时文件夹成功'; $img_path = dirname(__FILE__).DS.'uploads'.DS.$_FILES['file_img']['name']; //echo $img_path; //进行移动文件到服务器地址 if(@move_uploaded_file($_FILES['file_img']['tmp_name'],$img_path)) { //显示图片 echo "<img src=".$img_path." />" } else { cho '移动文件失败'; } }
(4)##show_image.php 用來接收圖片檔案路徑顯示上傳成功的圖片:
$img_path = $_GET['url']; echo "";
(5)上傳最核心的就是利用$_FILES的子項參數,完成上傳與判斷:
Array ( [file_img] => Array ( [name] => news_001_01.jpg [type] => image/jpeg [tmp_name] => C:\Windows\Temp\php504D.tmp [error] => 0 [size] => 158360 ) )
##$_FILES['file_img']['name'] : news_001_01.jpg
上傳檔案名稱#$_FILES['file_img'][ 'type'] : image/jpeg
上傳檔案的類型$_FILES['file_img'][' tmp_name '] : C:\Windows\Temp\ php504D.tmp
此上傳檔案暫存檔案的存放路徑$_FILES['file_img']['error '] : 0 , 1, 2, 3, 4
# #0 -> 表示已成功上傳內容
## 1 -> 檔案的大小超出了約定值(PHP.ini
#指定) 2 -> 表示上傳檔案的大小超出了約定值(HTML
表單指定) 3 ->
表示檔案只部分上載 4 ->
表示任何檔案
#### php上傳檔案的簡單程式碼######以上是php上傳文件深度解析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。
